Class SemesterController

java.lang.Object
inha.git.semester.controller.SemesterController

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

    • SemesterController

      public SemesterController()
  • Method Details

    • getSemesters

      @GetMapping public BaseResponse<List<SearchSemesterResponse>> getSemesters()
      전체 학기 목록을 조회합니다.
      Returns:
      학기 목록을 포함한 응답
    • createSemester

      @PostMapping @PreAuthorize("hasAuthority(\'admin:create\')") public BaseResponse<String> createSemester(@AuthenticationPrincipal User user, @Validated @RequestBody CreateSemesterRequest createSemesterRequest)
      새로운 학기를 생성합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      createSemesterRequest - 생성할 학기 정보 (학기명)
      Returns:
      학기 생성 결과 메시지
    • updateSemester

      @PutMapping("/{semesterIdx}") @PreAuthorize("hasAuthority(\'admin:update\')") public BaseResponse<String> updateSemester(@AuthenticationPrincipal User user, @PathVariable("semesterIdx") Integer semesterIdx, @Validated @RequestBody UpdateSemesterRequest updateSemesterRequest)
      학기명을 수정합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      semesterIdx - 수정할 학기의 식별자
      updateSemesterRequest - 새로운 학기명
      Returns:
      학기명 수정 결과 메시지
      Throws:
      BaseException - SEMESTER_NOT_FOUND: 학기를 찾을 수 없는 경우
    • deleteSemester

      @DeleteMapping("/{semesterIdx}") @PreAuthorize("hasAuthority(\'admin:delete\')") public BaseResponse<String> deleteSemester(@AuthenticationPrincipal User user, @PathVariable("semesterIdx") Integer semesterIdx)
      학기를 삭제(비활성화) 처리합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      semesterIdx - 삭제할 학기의 식별자
      Returns:
      학기 삭제 결과 메시지
      Throws:
      BaseException - SEMESTER_NOT_FOUND: 학기를 찾을 수 없는 경우