https://insta-backend5.herokuapp.com/api/articles?hashtags=고양이
@ApiOperation(value = "게시글 등록") ![[Pasted image 20220825175909.png]]
@PostMapping
public CommonResponse<?> createArticles(ArticleRequestDto requestDto, MultipartFile[] articleImage, @RequestParam(value = "hashtags", defaultValue = "false") List<String> hashtags){
articleService.createArticle(requestDto, hashtags, articleImage);
return ApiUtils.success(201, null);
}
hashtag=%EC%~
처리는 브라우저 내부적으로 인코딩을 해주고 있다고 함. 현재 찾은 해결 방안으로는 2가지 방법이 존재한다. 자바 소스에 필터를 추가하는 방식과 스프링 설정에 추가하는 방식이다. 설정을 추가하는 방식이 좀 더 깔끔하고 확실한 해결 방법이라고 판단해 처음에는 필터를 추가했다가 제거하고 설정을 추가하는 방식으로 해결했다.
Application 파일에 인코딩 필터 추가
@Bean
public CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter characterEncodingFilter = new
CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
characterEncodingFilter.setForceEncoding(true);
return characterEncodingFilter;
}
server:
servlet:
encoding:
charset: UTF-8
enabled: true
force: true