@RequestParam : 쿼리 파라미터나 일반 form 데이터 받을 때 (?state=예약중)
<예시>
@RequestMapping("/reservations")
@GetMapping
public BaseResponse<ReservationSearchResponse> findUserById(
@RequestParam Boolean isDropper,
@RequestParam(required = false) String state
)
-> GET /reservations?isDropper=true&state=예약중
@RequestPart : multipart/form-data 요청에서 파일이나 JSON 객체 받을 때
<예시>
@PostMapping(value = "/reservations", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<String> uploadReservation(
@RequestPart ReservationRequest data,
@RequestPart(required = false) MultipartFile file
)
@PathVariable : URL 경로의 일부분 받을 때 (/state/예약중)
<예시>
@RequestMapping("/locks")
@GetMapping("/{lockerId}")
public BaseResponse<LockerDetailResponse> findUserById(@PathVariable Long lockerId) {
return new BaseResponse<>(lockerService.findUserById(lockerId));
}
-> GET /locks/1 (Id값이 들어옴)