Spring MVC WebMvcConfigurer Formatter 설정
Spring Web MVC
백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글
WebMvcConfigurer Formatter 설정
Formatter는 어떤 객체를 문자열로 변환하거나 문자열을 객체로 바꾸거나 하는 일이 가능하다.
가령 위와 같은 핸들러의 경우 사용자가 /hello/harry
라고 요청하면 에러를 낸다.
왜냐하면 name을 어떻게 Person 객체로 처리할지에 대한 Foramtter가 없기 때문이다.
그렇다면 Formatter를 만들어보자.
Foramtter는 두 인터페이스를 상속받고 있는데, Printer와 Parser이다.
그래서 두 인터페이스에 정의된 parse와 print 메소드를 구현해주면 된다.
이 Formatter를 등록하는 방법은 앞서 살펴본 WebConfigurer를 구현하고 addFormatter 메소드를 오버라이딩 하면 된다.
이제 스프링 MVC가 문자를 어떻게 Person 객체로 변환하는지 알게 되었다.
왜냐하면 Formatter를 등록해뒀기 때문이다.
그런데 스프링 부트를 사용하면 위의 설정이 필요없다.
스프링 부트는 Formatter가 빈으로 등록되어있다면 알아서 빈으로 등록해준다 (와우.. 스프링 부트 짱짱맨!)
Reference
인프런 백기선님의 스프링 Web MVC