-
Spring MVC Formatter 사용법Spring/Spring MVC 2020. 4. 21. 01:35
다음과 같이 PathVariable을 통해서 url에 name부분을 String으로 받을 수 있지만 객체로 받고 싶다면 어떻게 해야 할까?
이 Person 클래스를 구현해도 스프링은 알 수가 없다. 따라서 스프링이 이 객체를 읽을 수 있도록 Formatter을 구현해주어야 한다.
Formatter은 다음과 같이 parse와 print라는 인터페이스 2개로 이루어져 있으며
parse : 문자열을 객체로 변환한다.
print : 객체를 문자열로 변환한다.
따라서 parse에는 우리가 만든 person인스턴스를 넣어주도록 하고 print 메소드는 toString()으로 처리해서 문자열로 바꿔주자.
이렇게 만든 Formatter는 다음과 같이 등록이 가능하다.
이제 테스트 코드를 통해 실행을 하게 되면 Body에는 seungyeol이 담기고 이는 스프링이 Person이라는 객체를
받을 수 있었다는 것을 알 수있다.
다음과 같이 요청 파라미터를 넣는 경우도 역시 변환이 되는 것을 확인할 수 있다.
하지만 Spring Boot를 쓰게 된다면 WebConfig에 addFormatters 설정은 필요하지 않다. 스프링 부트가 알아서 빈으로
등록 시 관리해주기 때문이다.
'Spring > Spring MVC' 카테고리의 다른 글
WebMvcConfigurer 살펴보기 (0) 2020.05.31 Json 컨버터 (0) 2020.05.28 HTTP 메세지 컨버터와 String (0) 2020.05.28 리소스 핸들러 (0) 2020.05.02 핸들러 인터셉터 (0) 2020.04.28