Class CategoryController

java.lang.Object
inha.git.category.controller.CategoryController

@RestController @RequestMapping("/api/v1/categories") public class CategoryController extends Object
카테고리(교과/비교과/기타) 관련 API를 처리하는 컨트롤러입니다. 카테고리 조회 기능을 제공합니다.
  • Constructor Details

    • CategoryController

      public CategoryController()
  • Method Details

    • getCategories

      @GetMapping public BaseResponse<List<SearchCategoryResponse>> getCategories()
      전체 카테고리 목록을 이름 기준으로 오름차순 조회합니다.
      Returns:
      활성 상태인 모든 카테고리 정보를 포함하는 응답
    • createCategory

      @PostMapping @PreAuthorize("hasAuthority(\'admin:create\')") public BaseResponse<String> createCategory(@AuthenticationPrincipal User user, @Validated @RequestBody CreateCategoryRequest createCategoryRequest)
      새로운 카테고리를 생성합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      createCategoryRequest - 생성할 카테고리 정보 (카테고리명)
      Returns:
      카테고리 생성 결과 메시지
      Throws:
      BaseException - 관리자 권한이 없는 경우
    • updateCategory

      @PutMapping("/{categoryIdx}") @PreAuthorize("hasAuthority(\'admin:update\')") public BaseResponse<String> updateCategory(@AuthenticationPrincipal User user, @PathVariable("categoryIdx") Integer categoryIdx, @Validated @RequestBody UpdateCategoryRequest updateCategoryRequest)
      기존 카테고리의 이름을 수정합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      categoryIdx - 수정할 카테고리의 식별자
      updateCategoryRequest - 수정할 카테고리 정보 (새로운 카테고리명)
      Returns:
      카테고리 수정 결과 메시지
      Throws:
      BaseException - CATEGORY_NOT_FOUND: 카테고리를 찾을 수 없는 경우
    • deleteCategory

      @DeleteMapping("/{categoryIdx}") @PreAuthorize("hasAuthority(\'admin:delete\')") public BaseResponse<String> deleteCategory(@AuthenticationPrincipal User user, @PathVariable("categoryIdx") Integer categoryIdx)
      카테고리를 소프트 삭제(상태 변경) 처리합니다.
      Parameters:
      user - 현재 인증된 관리자 정보
      categoryIdx - 삭제할 카테고리의 식별자
      Returns:
      카테고리 삭제 결과 메시지
      Throws:
      BaseException - CATEGORY_NOT_FOUND: 카테고리를 찾을 수 없는 경우