Client 에서 json 인코딩 형식을 euc-kr로 보낼때가 있는데, 그러면 spring boot 기본 캐릭터 셋 형식이 UTF-8이라 한글이 깨진다.
HttpServletRequest로 받아 아래와 같이 euc-kr 로 변경해주면 해결된다. xml, json 문서 형식도 파악 가능하다 .
PostMapping(value="/test")
public void insertLog(HttpServletRequest request) throws Exception {
//post 로 받을때, inputStream 으로 받아야된다.
ServletInputStream inputStream = request.getInputStream();
//Charset euc-kr 로 설정
String messageBody = StreamUtils.copyToString(inputStream, Charset.forName("euc-kr"));
//object mapper 로 @RequestBody 처럼 json을 객체로 변환.
SampleVO sampleVO = objectMapper.readValue(messageBody, SampleVO.class);
log.debug("sampleVO = {}", sampleVO);
log.debug("messageBody = {}", messageBody);
}
'Server > Spring' 카테고리의 다른 글
Webclient io.netty.resolver.dns.DnsNameResolverTimeoutException (0) | 2025.06.24 |
---|---|
Spring WebFlux 와 Netty (0) | 2025.05.12 |
Spring AOP 내부 호출 작동 문제 (0) | 2024.12.11 |