작성
·
420
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
@PostMapping 에서는 @ModelAttribute가 전송내용을 담는 역할을 하는것으로 이해가 되는데
@GetMapping("/orders")
public String orderList(@ModelAttribute("orderSearch") OrderSearch orderSearch, Model model) {
List<Order> orders = orderService.findOrders(orderSearch);
model.addAttribute("orders", orders);
return "order/orderList";
}
위 코드처럼 @GetMapping에서는 @ModelAttribute("orderSearch") OrderSearch orderSearch가 어디서 값을 받아오는지가 궁금합니다.
답변 1
0
안녕하세요. yso829612님, 공식 서포터즈 y2gcoder입니다.
@ModelAttribute는 @RequestParam과 요청 파라미터들을 바인딩 한다는 점에서 두 개의 역할이 비슷합니다. @PostMapping에서는 요청 내용에 담긴 HTTP 요청 Body 내의 formData 등을 받는다고 하면, @GetMapping에서는 쿼리 스트링의 내용을 파싱해서 담는다고 생각하시면 될 것 같습니다 :)
해당 내용은 영한님의 MVC 1편 강의에 자세하게 소개되어 있으니 기회가 되신다면 수강해보시길 추천합니다!
감사합니다.