Class FieldController

java.lang.Object
inha.git.field.api.controller.FieldController

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

    • FieldController

      public FieldController()
  • Method Details

    • getFields

      @GetMapping public BaseResponse<List<SearchFieldResponse>> 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: 분야를 찾을 수 없는 경우