Package inha.git.field.api.controller
Class FieldController
java.lang.Object
inha.git.field.api.controller.FieldController
분야 관련 API를 처리하는 컨트롤러입니다.
분야의 조회, 생성, 수정, 삭제 기능을 제공합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateField
(User user, CreateFieldRequest createFieldRequest) 새로운 분야를 생성합니다.deleteField
(User user, Integer fieldIdx) 분야를 삭제(비활성화) 처리합니다.updateField
(User user, Integer fieldIdx, UpdateFieldRequest updateFieldRequest) 분야명을 수정합니다.
-
Constructor Details
-
FieldController
public FieldController()
-
-
Method Details
-
getFields
- Returns:
- 분야 목록을 포함한 응답
-
createField
@PostMapping @PreAuthorize("hasAuthority(\'admin:create\')") public BaseResponse<String> createField(@AuthenticationPrincipal User user, @Validated @RequestBody CreateFieldRequest createFieldRequest) 새로운 분야를 생성합니다.- Parameters:
user
- 현재 인증된 관리자 정보createFieldRequest
- 생성할 분야 정보 (분야명)- Returns:
- 분야 생성 결과 메시지
-
updateField
@PutMapping("/{fieldIdx}") @PreAuthorize("hasAuthority(\'admin:update\')") public BaseResponse<String> updateField(@AuthenticationPrincipal User user, @PathVariable("fieldIdx") Integer fieldIdx, @Validated @RequestBody UpdateFieldRequest updateFieldRequest) 분야명을 수정합니다.
- Parameters:
user
- 현재 인증된 관리자 정보fieldIdx
- 수정할 분야의 식별자updateFieldRequest
- 새로운 분야명- Returns:
- 분야명 수정 결과 메시지
- Throws:
BaseException
- FIELD_NOT_FOUND: 분야를 찾을 수 없는 경우
-
deleteField
@DeleteMapping("/{fieldIdx}") @PreAuthorize("hasAuthority(\'admin:delete\')") public BaseResponse<String> deleteField(@AuthenticationPrincipal User user, @PathVariable("fieldIdx") Integer fieldIdx) 분야를 삭제(비활성화) 처리합니다.
- Parameters:
user
- 현재 인증된 관리자 정보fieldIdx
- 삭제할 분야의 식별자- Returns:
- 분야 삭제 결과 메시지
- Throws:
BaseException
- FIELD_NOT_FOUND: 분야를 찾을 수 없는 경우
-