Spring MVC HTTP Message Converter

Spring Web MVC

백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글

HTTP Message Converter (매우 중요)

HTTP Message Converter는 요청 본문에서 메시지를 읽어들이거나(@RequestBody), 응답 본문에 메시지를 작성할때(@ResponseBody)를 사용한다.

Message Converter를 정하는 기준은 Request Header의 Content-Type에 따라 적절한 Message Converter를 결정한다.

기본 HTTP Message Converter

  • 바이트 배열

  • 문자열

  • Resource

  • Form

의존성이 있는 경우

  • JAXB2

  • Jackson2

  • Jackson

  • Gson

  • Atom

  • Rss

등등…

설정 방법

WebConfigurer 인터페이스에 구현된 메소드를 Overriding하여 설정 가능

사실상 Spring MVC의 설정은 대부분 WebConfigurer 여기에있는 메소드를 사용하면 커스터마이징할 수 있는 것 같다.

  1. 기본으로 등록해주는 컨버터는 다 무시하고 새로운 컨버터를 설정하려면 configureMessageConverters

  2. 기본으로 등록해주는 컨버터에 새로운 컨버터를 추가하고 싶은 경우라면 extendMessageConverters를 사용한다.

위의 방법 외에 백기선님이 추천하시는 방법은 의존성 추가로 컨버터를 등록하는 것을 추천하고 계신다.

우리는 구현된 컨버터를 사용하는 입장이기 때문에 일반적으로는 의존성 추가로 컨버터를 등록하는 경우가 많다.

그래들 설정에 의존성을 추가하면 컨버터가 자동으로 등록된다.

이 기능을 담당하는 것이 WebMvcConfigurationSupport이고 이 클래스는 스프링 부트가 아닌 스프링 프레임워크의 기능이라고 한다.

Reference

인프런 백기선님의 스프링 Web MVC



© 2022. by minkuk

Powered by minkuk