본문 바로가기

study/Spring boot

MockMvc 테스트에서 한글 깨짐 현상

mockMvc로 스프링부트 프로젝트를 테스트하는데, 강의에는 안그렇지만, 최신 버전을 사용하는 내 스프링부트에서는 mockmvc 테스트에서 한글이 깨진다.

 

네모네모해진 한글.

 

해결 시도

1. www.python2.net/questions-809744.htm

 

MockMvc는 더 이상 Spring Boot 220에서 UTF-8 문자를 처리하지 않습니다

새로 출시 된 2.2.0.RELEASE 로 업그레이드 한 후  Spring Boot 버전 테스트 중 일부가 실패했습니다. 그것은 MediaType.APPLICATION_JSON_UTF8 것으로 보인다  더 이상 사용되지 않으며 더 이상 콘텐츠 유형을

www.python2.net

여기서 제일 간단한 방법인, chracterEncoding을 붙이는 것이다.

결과는 그대로다. 혹시 몰라 APPLICATION_JSON_UTF-8 에서 UTF-8을 제거하고 다시 해봤다. 마찬가지로 그대로다.

 

2. 왜 안되는 지 찾아보니, utf-8에 대해 스프링이 지원을 안한다고 한다.

 

 

Springboot 2.2.x MockMvc 인코딩 이슈

developer JH website.

jehuipark.github.io

이분이 잘 설명해주셨다. 그런데 여기서 해결방법은 너무 길다. (별로 안길지만 귀찮아서)더 간단한 방법을 찾았다.

 

 

[spring] Deprecate MediaType.APPLICATION_JSON_UTF8 in favor of APPLICATION_JSON - I'm honeymon(JiHeon Kim).

1 2 3 4 5 6 7 8 9 10 private Charset getContentTypeCharset(@Nullable MediaType contentType) { // contentType == MediaType.APPLICATION_JSON if (contentType != null && contentType.getCharset() != null) { return contentType.getCharset(); } else { Charset char

honeymon.io

커스텀 어노테이션을 만들거나, 설정을 바꾸는 방법이 근본적인 방법이지만, 초보자가 설정을 바꿀수록 뒤에 올 폭풍은 거대해지기 때문에, 간단히 객체로 바꿔 출력하는 방법을 선택하겠다.ㅎㅎ