Class DepartmentController
java.lang.Object
inha.git.department.api.controller.DepartmentController
@RestController
@RequestMapping("/api/v1/departments")
public class DepartmentController
extends Object
학과 관련 API를 처리하는 컨트롤러입니다.
학과의 조회, 생성, 수정, 삭제 기능을 제공합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateDepartment
(User user, CreateDepartmentRequest createDepartmentRequest) 새로운 학과를 생성합니다.deleteDepartment
(User user, Integer departmentIdx) 학과를 삭제(비활성화) 처리합니다.getDepartments
(Integer collegeIdx) 학과 목록을 조회합니다.updateDepartmentName
(User user, Integer departmentIdx, UpdateDepartmentRequest updateDepartmentRequest) 학과명을 수정합니다.
-
Constructor Details
-
DepartmentController
public DepartmentController()
-
-
Method Details
-
getDepartments
@GetMapping public BaseResponse<List<SearchDepartmentResponse>> getDepartments(@RequestParam(value="collegeIdx",required=false) Integer collegeIdx) 학과 목록을 조회합니다.- Parameters:
collegeIdx
- 조회할 단과대학 ID (선택적)- Returns:
- 학과 목록을 포함한 응답
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-
createDepartment
@PostMapping @PreAuthorize("hasAuthority(\'admin:create\')") public BaseResponse<String> createDepartment(@AuthenticationPrincipal User user, @Validated @RequestBody CreateDepartmentRequest createDepartmentRequest) 새로운 학과를 생성합니다.- Parameters:
user
- 현재 인증된 관리자 정보createDepartmentRequest
- 생성할 학과 정보 (학과명, 단과대학 ID)- Returns:
- 학과 생성 결과 메시지
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우, DEPARTMENT_NOT_BELONG_TO_COLLEGE: 학과와 단과대학 정보가 일치하지 않는 경우
-
updateDepartmentName
@PutMapping("/{departmentIdx}") @PreAuthorize("hasAuthority(\'admin:update\')") public BaseResponse<String> updateDepartmentName(@AuthenticationPrincipal User user, @PathVariable("departmentIdx") Integer departmentIdx, @Validated @RequestBody UpdateDepartmentRequest updateDepartmentRequest) 학과명을 수정합니다.- Parameters:
user
- 현재 인증된 관리자 정보departmentIdx
- 수정할 학과의 식별자updateDepartmentRequest
- 새로운 학과명- Returns:
- 학과명 수정 결과 메시지
- Throws:
BaseException
- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-
deleteDepartment
@DeleteMapping("/{departmentIdx}") @PreAuthorize("hasAuthority(\'admin:delete\')") public BaseResponse<String> deleteDepartment(@AuthenticationPrincipal User user, @PathVariable("departmentIdx") Integer departmentIdx) 학과를 삭제(비활성화) 처리합니다.- Parameters:
user
- 현재 인증된 관리자 정보departmentIdx
- 삭제할 학과의 식별자- Returns:
- 학과 삭제 결과 메시지
- Throws:
BaseException
- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-