Spring Handler Method가 지원하는 Argument 들이 많이 있습니다.
@Controller
public class EventController {
@GetMapping("/events/{id}")
@ResponseBody
public Event getEvents(@PathVariable Integer id) {
Event event = new Event();
event.setId(id);
return event;
}
}
URI Pattern은 id 문자열이 Integer 값으로 타입 변환이 됩니다.
@PathVariable
을 통해 받으려고 한 값이 없으면 BadRequest가 됩니다.
만약 값이 없는 것도 허용하려면 @PathVariable(required = false) Integer id
와 같이 필수가 아니도록 속성을 false로 설정하면됩니다. 다른 방안으로는 @PathVariable Optional<Integer> id
형태로 Optional형태로 받을 수도 있습니다.