본문 바로가기

Spring/MVC

WebMvcConfigurer - Formatter

WebMvcConfigurer 를 사용해서 설정 하는 방법을 알아보자

첫번째로 먼저 볼 것은 Formatter 다

 

Formatter 란 객체를 문자열로 출력할 것인지

또는 문자열을 객체로 변환할 때 사용할 수 있는 것

 

먼저

 

 

PathVariable 을 객체로 받고 싶은 상황

name 으로 들어오는 값을 Person 으로 어떻게 변환 하는지를 스프링은 알 지 못한다.

그걸 알려주는게 formatter 다

 

이렇게 Formatter 를 만들어준다.

text 값이 Person 의 setName 으로 들어가는 Formatter 를 만들어줬다.

 

FormatterRegistry를 쓰고 있는 addFormatters 를 구현해주면 된다

addFormatter 를 구현하면 되는데

여기서 Converter 도 쓸 수 있다 .이게 뭐냐면 Formatter 보다 훨씬 제네럴한 용도다

자바 객체에서 객체로 변경할 때 사용되곤 한다.

지금은 문자열을 받아서 객체로 바꾸거나 객체에서 문자열로 바꾸는 경우로 사용하고 있어서

Formatter 를 사용하겠다.

 

저렇게 웹설정에 추가를 해두면 이제는 스프링 Mvc 가 

문자열을 Person 으로 어떻게 변환할지 알게 되었다.

 

/*

스프링 부트에서는 Formatter 를 그냥 빈으로 등록만 해놔도 된다.

저렇게 WebMvcConfigurer 에 안 적어놔도 된다

*/

 

 

 

Test 코드 

 

통합 테스트로 변경한 모습

AutoConfigureMockMvc 를 붙여야 mockMvc를 쓸 수 있다.

 

'Spring > MVC' 카테고리의 다른 글

스프링 MVC 설정 - @EnableWebMvc  (0) 2020.09.29
Handler Interceptor  (0) 2020.02.19
스프링 MVC 설정 - WebMvcConfigurer  (0) 2020.02.12
스프링 MVC 설정  (0) 2020.02.10
Dispatcher Servlet 2  (0) 2020.02.08