• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

configureMessageConverters() 등록 필요성

22.11.12 23:56 작성 조회수 483

0

안녕하세요 강의 잘듣고 있습니다!

 

jojoldu 블로그를 참고해보니 WebMvcConfigurer의 configureMessageConverters()로 MessageConverter를 등록하지 않아도 자동으로 된다고 하는 것 같다고 합니다.

 

그래서 Test해보니 실제 치환이 되고 있는 것 같아서

 

혹시 configureMessageConverters()를 추가하신 의도가 있으신 건지, 필요성이 있는지 질문 드립니다!.

 

감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요! 해당 부분은 제가 봤던 자료에서는 configureMessageConverters에 등록하는 부분까지 처리를 해주고 있었는데, 말씀해주신대로 등록하지 않고 테스트를 해봐도 정상적으로 동작하네요!

말씀해주신대로 추가로 등록까지 하지 않아도 됩니다.

JoonHo Kim님의 프로필

JoonHo Kim

2022.12.25

저는 configureMessageConverters 를 등록하지 않으면 json body요청건 치환이 되지 않는데요.... 이상하네요.. 추가 처리가 필요한가요

테스트 해보니까 강의 코드에서 configureMessageConverters 를 WebConfig에 적지 않아도 정상적으로 동작하고있는데, 강의 코드랑 한번 비교해보시면서 찾아보셔야할꺼 같습니다! 아래 코드 영역은 생략해도 정상적으로 동작해야합니다.

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(jsonEscapeConverter());
}
JoonHo Kim님의 프로필

JoonHo Kim

2022.12.26

configureMessageConverters를 주석처리하면
jsonEscapeConverter는 어디서 호출 되는건가요? 이 부분이 이해가 안가네요....

 

jsonEscapeConverter를 BEAN으로 등록해주면 스프링에서 HttpMessageConverter에 Bean으로 자동으로 등록해줍니다. jsonEscapeConverter를 빈으로 등록해주시면됩니다!

 

@Bean
public MappingJackson2HttpMessageConverter jsonEscapeConverter() {
    ObjectMapper copy = objectMapper.copy();
    copy.getFactory().setCharacterEscapes(new HtmlCharacterEscapes());
    return new MappingJackson2HttpMessageConverter(copy);
}