• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@RequestParam

20.09.16 21:07 작성 조회수 116

0

안녕하세요 강사님, @RequestParam으로 요청매개변수를 Map이외에 List, Optional 객체로도 받아 사용할 수 있다는것을 알았는데 spring 내부적에서 포멧터를 사용해 바인딩을 해주는지 궁금합니다

답변 1

답변을 작성해보세요.

1

@RequestParam으로 Map을 받는 경우에는 RequestParamMapMethodArgumentResolver를 사용합니다.

RequestMappingHandlerAdapter 코드 보시면 다양한 아규먼트 리졸버 (기본 타입, 커스텀 타입 등)가 등롣되는데 그 중에는 물론 포매터까지 사용하는 아규먼트 리졸버들도 있습니다. 개인적인 생각으로는 어떤 타입을 바인딩 할 때 어떤 아규먼트 리졸버가 사용되는지 까지 알아야 필요까지는 없다고 생각하지만 더 궁금하시면 각기 다른 타입을 바인딩 하는 코드를 작성하시고 디버깅을 해보시기 바랍니다.