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: 학과를 찾을 수 없는 경우
-