인프런 커뮤니티 질문&답변
타입컨버터 추가 질문
작성
·
184
0
안녕하세요.
전에 드렸던 질문에 대한 영한님의 답변을 보고 mvc1편의 ArgumentResolver와 mvc2편의 컨버젼 서비스에 대해서 다시 듣고 생각을 정리해봤습니다. 제 생각은. 일단은 @RequestBody 나 @ResponseBody를 처리하는 ArgumentResolver는 MappingJackson2 메시지 컨버터를 이용해 메소드 파라미터에 값을 넘겨주고 해당 메시지 컨버터는 Jackson이라는 라이브러리를 사용하기 때문에 컨버젼 서비스를 이용하는게 아니라 해당 라이브러리에 설정을 변경해서 사용해야한다고 이해했습니다. 그럼 @RequestParam, @ModelAttribute, @PathVariable 은 ArgumentResolver가 컨버젼 서비스를 이용해서 메소드 파라미터에 값을 넘기는건가요? 컨버젼 서비스의 클라이언트가 누군지 궁금합니다.
ex) ArgumentResolver가 id=10&ipPort=127.0.0.1:8080 을 request.getParameter()로 받고 해당 값은 문자열이기 때문에 컨버젼 서비스를 이용해서 @RequestParam Form form 이라는 컨트롤러의 메소드 파라미터에 값을 넘기는것인지가 궁금합니다. Form 클래스는 아래와 같습니다.
class Form {
private Long id;
private IpPort ipPort;
}
감사합니다.





