Package inha.git.college.controller
Class CollegeController
java.lang.Object
inha.git.college.controller.CollegeController
단과대학 관련 API를 처리하는 컨트롤러입니다.
단과대학의 조회, 생성, 수정, 삭제 기능을 제공합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateCollege
(User user, CreateCollegeRequest createDepartmentRequest) 새로운 단과대학을 생성합니다.deleteCollege
(User user, Integer collegeIdx) 단과대학을 삭제(비활성화) 처리합니다.getCollege
(Integer departmentIdx) 특정 학과가 속한 단과대학을 조회합니다.모든 단과대학 목록을 조회합니다.updateCollege
(User user, Integer collegeIdx, UpdateCollegeRequest updateCollegeRequest) 기존 단과대학의 정보를 수정합니다.
-
Constructor Details
-
CollegeController
public CollegeController()
-
-
Method Details
-
getColleges
모든 단과대학 목록을 조회합니다.- Returns:
- 단과대학 목록을 포함한 응답
-
getCollege
@GetMapping("/{departmentIdx}") public BaseResponse<SearchCollegeResponse> getCollege(@PathVariable("departmentIdx") Integer departmentIdx) 특정 학과가 속한 단과대학을 조회합니다.- Parameters:
departmentIdx
- 조회할 학과의 식별자- Returns:
- 해당 학과가 속한 단과대학 정보를 포함한 응답
- Throws:
BaseException
- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우, COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-
createCollege
@PostMapping @PreAuthorize("hasAuthority(\'admin:create\')") public BaseResponse<String> createCollege(@AuthenticationPrincipal User user, @Validated @RequestBody CreateCollegeRequest createDepartmentRequest) 새로운 단과대학을 생성합니다.- Parameters:
user
- 현재 인증된 관리자 정보createDepartmentRequest
- 생성할 단과대학 정보 (단과대학명)- Returns:
- 단과대학 생성 결과 메시지
-
updateCollege
@PutMapping("/{collegeIdx}") @PreAuthorize("hasAuthority(\'admin:update\')") public BaseResponse<String> updateCollege(@AuthenticationPrincipal User user, @PathVariable("collegeIdx") Integer collegeIdx, @Validated @RequestBody UpdateCollegeRequest updateCollegeRequest) 기존 단과대학의 정보를 수정합니다.- Parameters:
user
- 현재 인증된 관리자 정보collegeIdx
- 수정할 단과대학의 식별자updateCollegeRequest
- 수정할 단과대학 정보 (새로운 단과대학명)- Returns:
- 단과대학 수정 결과 메시지
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-
deleteCollege
@DeleteMapping("/{collegeIdx}") @PreAuthorize("hasAuthority(\'admin:delete\')") public BaseResponse<String> deleteCollege(@AuthenticationPrincipal User user, @PathVariable("collegeIdx") Integer collegeIdx) 단과대학을 삭제(비활성화) 처리합니다. 관리자 권한을 가진 사용자만 접근 가능합니다. 실제 삭제가 아닌 소프트 삭제로 처리됩니다.- Parameters:
user
- 현재 인증된 관리자 정보collegeIdx
- 삭제할 단과대학의 식별자- Returns:
- 단과대학 삭제 결과 메시지
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-