인프런 커뮤니티 질문&답변

restpmpmpm님의 프로필 이미지
restpmpmpm

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 등록 처리 - @ModelAttribute

@RequestParam, @ModelAttribute, @RequsetBody 질문

작성

·

176

1

3개의 방식 모두 프론트단(html)에서 값을 넘겨준다고 가정했을때 그때마다 어떤 어노테이션을 써야하는지 개념이 부족한거 같습니다.

 

예를 들어 프론트단에서 username, price의 값을 userA, 10000이라고 전달했을때로 가정한다면

3개 모두 요청값을 받아 받은 데이터로 객체를 생성하고 set해주는 느낌인거같아서 헷갈립니다ㅠㅠ

답변 1

3

안녕하세요. restpmpmpm님, 공식 서포터즈 코즈위버입니다.

파라미터가 URL로 넘어올 때와 Http바디로 넘어올때로 구분하여 생각하시면 됩니다.

 

파라미터가 URL로 넘어올때 (GET)

  • 파라미터를 하나씩 바인딩: @RequestParam

  • 파라미터 전부를 객체로 한 번에 바인딩: @ModelAttribute

 

파라미터가 HTTP바디로 넘어올때 (POST, PUT, PATCH ...)

  • 파라미터 전부를 객체로 한 번에 바인딩: @RequestBody

감사합니다.

restpmpmpm님의 프로필 이미지
restpmpmpm
질문자

오 감사합니다! 고민이 해결됐어요ㅠㅠ

restpmpmpm님의 프로필 이미지
restpmpmpm

작성한 질문수

질문하기