반응형
Spring Rest Doc 문서를 만드는데 generated-snippets에 생성된 response-body.adoc 가 eclipse에서 test 코드를 실행했을 땐 정상적으로 결과가 나오는데 mvn 명령으로 실행했을 땐 한글이 깨져서 생성되었다.
처음엔 maven-compiler-plugin의 encoding 문제인가 의심했지만 해당 문제가 아니었다.
한글 깨짐을 해결할 수 있는 방법이 2가지가 있는데 하나는 요청 accept header에 charset=UTF-8을 추가하는 것이다.
this.mockMvc.perform(
post("/someUrl")
.accept(MediaType.APPLICATION_JSON_UTF8)
.params(params)
.cookie(getLoginCookie())
)
하지만 charset=UTF-8 옵션은 현재 deprecated 상태이다. (이후 사라질 예정이라고 한다.)
다른 방법은 mockmvc를 생성할 때 CharacterEncodingFilter를 추가하면 된다.
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext)
.addFilters(new CharacterEncodingFilter("UTF-8", true))
// ...
.build();
반응형
'Study > Java' 카테고리의 다른 글
eclipse workspace 위치에 git directory를 바로 clone하여 사용하지 말 것 (0) | 2020.07.30 |
---|---|
spring-asciidoctor-extensions 사용해 보기 (0) | 2020.07.17 |
Spring Framework 5.2.0.RELEASE 이후 Documentation에 Kotlin example이 추가되다. (0) | 2020.07.15 |
Spring Boot가 2.3.x 이후 build tool을 Gradle로 바꾸다. (0) | 2020.07.14 |
Spring Boot Dynamic Bean 등록 (0) | 2020.06.25 |
spring reference 문서는 어떻게 만들어질까? (0) | 2020.06.12 |
[troubleshooting] 아직 명확한 해결법을 찾지 못한 Spring Boot web No ServletContext set 에러 현상 (0) | 2020.06.05 |
Spring Boot 2.3 Release Notes (0) | 2020.05.26 |
JDK 14 New Features (0) | 2020.03.30 |
Spring Custom HandlerExceptionResolver 사용하기 (0) | 2020.02.18 |