Class ProblemRequestController

java.lang.Object
inha.git.problem.api.controller.ProblemRequestController

@RestController @RequestMapping("/api/v1/problems") public class ProblemRequestController extends Object
  • Constructor Details

    • ProblemRequestController

      public ProblemRequestController()
  • Method Details

    • getRequestProblems

      @GetMapping("/{problemIdx}/requests") public BaseResponse<org.springframework.data.domain.Page<SearchRequestProblemsResponse>> getRequestProblems(@AuthenticationPrincipal User user, @PathVariable("problemIdx") Integer problemIdx, @RequestParam(value="problemRequestStatus",required=false) ProblemRequestStatus problemRequestStatus, @RequestParam("page") Integer page, @RequestParam("size") Integer size)
      문제 신청 목록 조회 API
      Parameters:
      page - 페이지
      size - 사이즈
      Returns:
      문제 신청 목록
    • getRequestProblem

      @GetMapping("/{problemIdx}/requests/{problemRequestIdx}") public BaseResponse<SearchRequestProblemResponse> getRequestProblem(@AuthenticationPrincipal User user, @PathVariable("problemIdx") Integer problemIdx, @PathVariable("problemRequestIdx") Integer problemRequestIdx)
      문제 신청 조회 API
      Parameters:
      problemIdx - 문제 인덱스
      problemRequestIdx - 문제 신청 인덱스
      Returns:
      문제 신청 정보
    • requestProblem

      @PostMapping(value="/{problemIdx}/requests", consumes="multipart/form-data") public BaseResponse<RequestProblemResponse> requestProblem(@AuthenticationPrincipal User user, @PathVariable("problemIdx") Integer problemIdx, @Validated @RequestPart("createRequestProblemRequest") CreateRequestProblemRequest createRequestProblemRequest, @RequestPart(value="file",required=false) org.springframework.web.multipart.MultipartFile file)
      문제 신청 API
      Parameters:
      user - 유저 정보
      createRequestProblemRequest - 문제 신청 요청 정보
      file - 파일
      Returns:
      신청된 문제 정보
    • updateRequestProblem

      @PutMapping(value="/{problemIdx}/requests/{problemRequestIdx}", consumes="multipart/form-data") public BaseResponse<RequestProblemResponse> updateRequestProblem(@AuthenticationPrincipal User user, @PathVariable("problemRequestIdx") Integer problemRequestIdx, @Validated @RequestPart("updateRequestProblemRequest") UpdateRequestProblemRequest updateRequestProblemRequest, @RequestPart(value="file",required=false) org.springframework.web.multipart.MultipartFile file)
      문제 신청 수정 API
      Parameters:
      user - 유저 정보
      problemRequestIdx - 문제 신청 인덱스
      updateRequestProblemRequest - 문제 신청 수정 요청 정보
      file - 파일
      Returns:
      수정된 문제 정보
    • deleteRequestProblem

      @DeleteMapping("/{problemIdx}/requests/{problemRequestIdx}") public BaseResponse<RequestProblemResponse> deleteRequestProblem(@AuthenticationPrincipal User user, @PathVariable("problemRequestIdx") Integer problemRequestIdx)
    • updateproblemRequestStatus

      @PatchMapping("/{problemIdx}/requests/{problemRequestIdx}") public BaseResponse<RequestProblemResponse> updateproblemRequestStatus(@AuthenticationPrincipal User user, @PathVariable("problemIdx") Integer problemIdx, @PathVariable("problemRequestIdx") Integer problemRequestIdx, @RequestParam("problemRequestStatus") ProblemRequestStatus problemRequestStatus)
      문제 신청 상태 변경 API
      Parameters:
      user - 유저 정보
      problemIdx - 문제 인덱스
      problemRequestIdx - 문제 신청 인덱스
      problemRequestStatus - 문제 신청 상태
      Returns:
      변경된 문제 신청 정보