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

호춘님의 프로필 이미지
호춘

작성한 질문수

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

정리

Query Parameter 방식에서의 ArgumentResolver 동작 원리에 대해

작성

·

277

·

수정됨

0

localhost.com:8080/hello?username=kim&age=20

위와 같은 get 방식의 요청이 들어왔을 때,

@GetMapping("/hello")
public void foo(HelloData helloData) {

}

제가 이해한 내용을 바탕으로 설명해보겠습니다.

컨트롤러에게 HelloData 객체를 만들어 전달해주는 것은 ArgumentResolver 입니다. 만일 HTTP 메시지를 통해 usernameage가 전달되었다면, HelloData 객체를 만들기 위해 HTTP 메시지 컨버터를 사용하였을 것입니다.

마찬가지로 Query Parameter 방식으로 값이 전달되었을 때, HelloData 객체를 만드는 주체도 ArgumentResolver 인가요? 이 때는 HTTP 메시지 컨버터를 이용하는 것이 아니라 프로퍼티(constructor, setter)를 찾고, 그것으로 객체를 만드는 것인가요?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 호춘님

요청 매핑 헨들러 어뎁터 구조와 HTTP 메시지 컨버터 부분을 다시 복습해주세요.

감사합니다.

호춘님의 프로필 이미지
호춘

작성한 질문수

질문하기