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

gmldnjs0402님의 프로필 이미지
gmldnjs0402

작성한 질문수

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

HTTP 요청 메시지 - JSON

@RequestBody 생략 시에 @ModelAttribute 로 인식(?)한다고 하셨는데 그러면 HelloData 를 어떤 파라미터로 가지고 오는지 궁금합니다.

작성

·

558

0

[질문 내용]
@ModelAttribute HelloData helloData

가 되면 HelloData를 HTTP 메시지 바디가 아니라 요청 파라미터를 처리하게 된다라고 하셨는데... 이 내용이 잘 이해가 안갑니다.

 

helloData 라는 값을 파라미터로 인식하는건가요?

즉, helloData="22" 로 값이 들어오면 값을 22로 인식하는건지... 제가 잘 이해를 못해서 자세한 설명 부탁드립니다.

답변 1

-1

HelloData 각 속성 값(username, age)을 쿼리 문자열이나 폼 데이터로 인식하고 객체를 만들어줍니다.
아래와 같은 요청들이라면 정상적으로 username = "kim", age = 12의 값을 가진 HelloData 객체가 만들어집니다.

<쿼리 문자열>
image
<폼 데이터>
image
반면 JSON 형식으로 보내면 제대로 인식하지 못하고 username = null, age = 0처럼 데이터의 기본값으로 (원시 자료형의 경우) 객체를 만들게 됩니다.

image

gmldnjs0402님의 프로필 이미지
gmldnjs0402

작성한 질문수

질문하기