Class CollegeController

java.lang.Object
inha.git.college.controller.CollegeController

@RestController @RequestMapping("/api/v1/colleges") public class CollegeController extends Object
단과대학 관련 API를 처리하는 컨트롤러입니다. 단과대학의 조회, 생성, 수정, 삭제 기능을 제공합니다.
  • Constructor Details

    • CollegeController

      public CollegeController()
  • Method Details

    • getColleges

      @GetMapping public BaseResponse<List<SearchCollegeResponse>> 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: 단과대학을 찾을 수 없는 경우