🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.12.02 22:33 작성 22.12.02 22:36 수정 조회수 244

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 메시지 컨버터 부분을 다시 복습해주세요.

감사합니다.

채널톡 아이콘