파란하늘의 지식창고
반응형

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();

 

반응형
profile

파란하늘의 지식창고

@Bluesky_

도움이 되었다면 광고를 클릭해주세요