- SpringBoot + SpringSecurity ( JWT ) 기반으로 REST 기반의 API 서버를 만드는 도중
- API 문서 자동화를 위해 RestDocs를 쓰기로 결정했다.
- 그 외 후보로 Swagger등도 있겠지만 테스트 작성과 더불어 문서를 만들 수 있다는 점에서 RestDocs로 결정하였다.
- 문제는 mockMvc Test를 기반으로 문서 조각을 만들 때 Response 응답으로의 한글 처리가 깨져있다는 점이었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@Bean
public CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
characterEncodingFilter.setForceEncoding(true);
return characterEncodingFilter;
}
|
cs |
- 다음과 같이 CharacterEncodingFilter를 빈으로 추가해주자.
- 다음과 같이 AppConfig 클래스를 따로 만들어 설정 파일임을 알려준 후(@Configuration)
- CharacterEncodingFilter 빈을 등록해 주었다.
- SpringSecurity 관련 설정도 추가해주어야 하는데
- CharacterEncodingFilter를 configure 설정 파일에 놓아주어야 한다.
https://stackoverflow.com/questions/20863489/characterencodingfilter-dont-work-together-with-spring-security-3-2-0/23051264#23051264
- 이제 다시 asciidoc을 통해 http 문서 파일을 만들고 띄어본 결과
- 한글이 깨지지 않는다!