sitelink1 https://okky.kr/article/389868 
sitelink2  
sitelink3  
extra_vars6  

RestTemplate 에서 Form 을 POST로 전송할 경우, AllEncompassingFormHttpMessageConverter 를 사용합니다.

AllEncompassingFormHttpMessageConverter 는 FormHttpMessageConverter 를 상속받고 있으며, 내부적으로 ByteArrayHttpMessageConverter, StringHttpMessageConverter, ResourceHttpMessageConverter 를 partConverters로 가지고 있습니다.

이중 StringHttpMessageConverter 가 디폴트 캐릭터셋이 ISO-8859-1라 UTF-8로 변경이 필요합니다.

RestTemplate 설정시에 아래와 같이 해보세요.

@Bean
public RestTemplate restTemplate() {
  RestTemplate restTemplate = new RestTemplate();
  for(HttpMessageConverter<?> messageConverter : restTemplate.getMessageConverters()) {
    if(messageConverter instanceof AllEncompassingFormHttpMessageConverter) {
      ((AllEncompassingFormHttpMessageConverter) messageConverter).setCharset(Charset.forName("UTF-8"));
      ((AllEncompassingFormHttpMessageConverter) messageConverter).setMultipartCharset(Charset.forName("UTF-8"));
    }
  }
  return restTemplate;
}

 

또한 FormHttpMessageConverter 에서 헤더에 filename을 설정할 때, javax.mail.internet.MimeUtility.encodeWord() 를 이용해서 파일명을 인코딩합니다. 따라서 REST api 쪽에서도 파일명을 디코딩 처리해줘야 합니다.

MimeUtility.decodeText(multipartFile.getOriginalFilename());
 
번호 제목 글쓴이 날짜 조회 수
공지 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) 황제낙엽 2023.12.23 1032
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 1040
81 java.util.MissingResourceException: Can't find bundle for base name xxx, locale ko_KR 황제낙엽 2007.06.21 2751
80 Spring Boot PetClinic Sample Application 황제낙엽 2023.12.21 1061
79 [Spring3.1.1][1] RestTemplate 한글 문제 황제낙엽 2018.08.08 975
78 Spring WebFlow Introduction (웹개발을 직관적으로) 황제낙엽 2006.12.09 763
77 Spring Security OAuth2구현 file 황제낙엽 2019.09.05 734
76 Spring Security OAuth 황제낙엽 2019.09.05 706
75 <spring:checkbox> tip! 황제낙엽 2007.10.01 620
74 Spring 과 Spring Boot의 차이 file 황제낙엽 2020.05.26 520
73 Spring MVC 가 아닌 환경에서 Spring Pojo Bean 사용하기 (Pure Java App 또는 Servlet App) 황제낙엽 2009.10.22 515
72 Spring Boot에서의 RESTful API 모듈 file 황제낙엽 2020.04.16 510
» [Spring3.1.1][3] RestTemplate 한글 문제 황제낙엽 2018.08.08 505
70 SimpleFormController 정리 황제낙엽 2007.09.19 455
69 스프링 개발팁 황제낙엽 2007.08.17 449
68 Spring Framework 에서 사용하는 annotation 황제낙엽 2024.01.17 430
67 Cugain의 샘플프로젝트 jpetstore 분석기 - (5) applicationContext.xml 분석 황제낙엽 2007.04.21 422
66 [Spring3.1.1] ResponseBody 한글깨짐 해결법 황제낙엽 2018.08.08 405
65 Spring의 Exception 황제낙엽 2007.09.17 396
64 스프링 2와 JPA 시작하기 (한글) 황제낙엽 2007.08.27 379