Package inha.git.semester.controller
Class SemesterController
java.lang.Object
inha.git.semester.controller.SemesterController
학기 관련 API를 처리하는 컨트롤러입니다.
학기의 조회, 생성, 수정, 삭제 기능을 제공합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateSemester
(User user, CreateSemesterRequest createSemesterRequest) 새로운 학기를 생성합니다.deleteSemester
(User user, Integer semesterIdx) 학기를 삭제(비활성화) 처리합니다.전체 학기 목록을 조회합니다.updateSemester
(User user, Integer semesterIdx, UpdateSemesterRequest updateSemesterRequest) 학기명을 수정합니다.
-
Constructor Details
-
SemesterController
public SemesterController()
-
-
Method Details
-
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: 학기를 찾을 수 없는 경우
-