원인 (추정)
스프링 프레임워크 최신 버전에서 APPLICATION_JSON_UTF8
상수가 Deprecated 된 것 때문이라고 추정한다.
해결 방법
아래와 같은 커스텀 애노테이션을 작성하면 된다.
/**
* @AutoConfigureMockMvc 에 UTF-8 인코딩 필터를 적용한다.
*
* Spring 에 존재하던 APPLICATION_JSON_UTF8 상수가 Deprecated 되어
* @AutoConfigureMockMvc 를 이용할 경우, 한글 인코딩 문제가 발생한다.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@AutoConfigureMockMvc
@Import(AutoConfigureUtf8MockMvc.Config.class)
public @interface AutoConfigureUtf8MockMvc {
class Config {
@Bean
public CharacterEncodingFilter characterEncodingFilter() {
return new CharacterEncodingFilter(StandardCharsets.UTF_8.name(), true);
}
}
}
반응형
'프레임워크 > 스프링 프레임워크' 카테고리의 다른 글
DispatchServlet.doDispatch() 함수 끝까지 따라가서 HandlerMapping 과 HandlerAdapter 알아보기 (0) | 2023.01.30 |
---|---|
스프링 객체 검증 (Validation) 적용하기 (0) | 2022.05.29 |
asciidoctor 를 통한 Spring REST Docs 자동 생성 세팅하기 (2) | 2022.05.18 |
Spring REST Docs + asciidoctor 로 문서 자동 생성해보기 (0) | 2022.05.15 |
스프링부트 개발도구(spring-boot-devtools) 정리 (0) | 2022.03.31 |