스프링 @RequestParam,
@ModelAttribute, @RequestBody
- @ModelAttribute는 get, post 상관없이 query string 형태로 된 데이터를 읽어 객체에 세팅해줍니다.
따라서 객체인 경우 json 파서를 한 번 더 거쳐야 함.
@ModelAttribute 생략 가능 String, int, integer 같은 단순 타입인 경우
스프링이 자동으로 @RequestParam 적용, 그외의 것은 @ModelAttribute 적용하여
문자열로 변경시켜 줌.
- @RequestBody는 http message body(이하 body)를 읽어 http message converter로 지정된 형식을 따라 데이터를 변환하여 객체에 세팅해줍니다. 이때, content-type이 json이면 body를 json 포맷으로 읽어들이게 됩니다.
RequestBody는 생략 불가능! 생략할 경우 우선 순위인 @ModelAttribute가 적용되어 문자열로 변환됨, json 파서를 한 번 더 거쳐야 함.