@PostMapping("/{itemId}/edit")
public String edit(@PathVariable Long itemId, @ModelAttribute Item item, Model model) {
itemRepository.update(itemId, item);
return "redirect:/basic/items/{itemId}";
}
/*
1. Dispatcher Servlet에서 RequestMappingHandler에게 요청을 보낸다.
2. RequestMappingHandler는 요청에 매핑되는 핸들러를 호출하는데, 이때 핸들러에서 필요로 하는 파라미터를 ArgumentResolver에서 생성을 한다.
- 만약 파라미터가 HTTP 메세지를 통해서 온 값들이라면(@RequestBody나 HttpEntity등이 사용될 때) http 메시지 컨버터에서 파라미터를 생성한다.
3. 핸들러가 리턴한 값은 ReturnValueHandler에서 값을 변환하고 처리한다.
- 만약 리턴 값이 http 메세지로 보내는 값일 때(@ResponseBody나 HttpEntity등이 사용될 때) http 메시지 컨버터를 이용해 응답 값을 생성한다.