Class DepartmentController

java.lang.Object
inha.git.department.api.controller.DepartmentController

@RestController @RequestMapping("/api/v1/departments") public class DepartmentController extends Object
학과 관련 API를 처리하는 컨트롤러입니다. 학과의 조회, 생성, 수정, 삭제 기능을 제공합니다.
  • 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: 학과를 찾을 수 없는 경우