사용자 도구

사이트 도구


springframework:springboot:httpmessageconverters

SpringBoot HttpMessageConverters

Auto Configuration

  • org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration
  • 위 설정에서는 HttpMessageConverter Bean 이 존재하는 것을 모두 모아 자동 등록해준다.
  • org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfigurationorg.springframework.http.converter.json.MappingJackson2HttpMessageConverter가 존재하지 않으면 Bean 을 자동 생성해준다.

MappingJackson2HttpMessageConverter 의 설정변경

  • SpringBoot 에서는 위의 자동 설정 규칙에 의해서 그냥 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter Bean 을 원하는 대로 생성만 해주면 자동으로 HttpMessageConverters 로 등록되게 된다.
  • 따라서 원하는 대로 객체를 생성해서 넣어주면 된다.
  • 예를들어 SpringBoot 2.3 부터 JSON 응답이 application/json이 되고, application/json;charset=UTF-8이 deprecated 되었는데, 강제로 문자셋을 지정하려면 다음과 같이 한다.
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
    var mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(objectMapper);
    mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Lists.newArrayList(MediaType.APPLICATION_JSON_UTF8));
    return mappingJackson2HttpMessageConverter;
}
springframework/springboot/httpmessageconverters.txt · 마지막으로 수정됨: 2020/07/17 10:33 저자 kwon37xi