외부 모듈을 적용하는 작업을 하던 중 통신값에 한글깨짐이 발생했다 !!
내 프로젝트는 UTF-8이고 연결하는 모듈의 인코딩은 EUC-KR로 설정되어있었다.. ;
어노테이션으로 가능한지 보려고 Controller 에서 인코딩을 설정해 실행해봤다.
@PostMapping(value="/test/result", produces="text/plain;charset=euc-kr")
이렇게 해주니 postman을 이용한 테스트에선 한글이 잘 들어오는데
API와 연동하는 부분에선 계속해서 한글이 깨져 들어온다.. ㅠ.ㅠ
결국 ~ 인코딩 필터를 설정하기로 했다!
나의 프로젝트는 UTF-8로 설정되어 있기에 전부 바꾸는건 리스크가 있어
특정 URL만 EUC-KR로 변경하는 필터를 달았다~
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyEncodingFilter extends CharacterEncodingFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
AntPathMatcher matcher = new AntPathMatcher();
String reqUri = request.getRequestURI();
if (matcher.match("/test/**", reqUri)) {
request.setCharacterEncoding("euc-kr");
filterChain.doFilter(request, response);
} else {
super.doFilterInternal(request, response, filterChain);
}
}
}
설정하고 다시 시도~
DB에 깨져서 들어오던 한글이 이제 잘 들어온다 !! ㅎㅎ
'Spring' 카테고리의 다른 글
SpringBoot Session TimeOut 설정! (0) | 2021.06.14 |
---|---|
[SpringBoot] Session 으로 Login 처리! (0) | 2021.03.26 |
SpringBoot robots.txt 적용 (0) | 2020.12.14 |
Springboot bouncycastle 적용하기 (암호화) (0) | 2020.10.12 |
Springboot Jar systemctl로 실행하기! ( 백그라운드 실행 ) (0) | 2020.10.08 |