diff --git a/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/RestTemplateConfig.java b/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/RestTemplateConfig.java index 032b2390..7a4ba07e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/RestTemplateConfig.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/RestTemplateConfig.java @@ -1,13 +1,11 @@ package com.kamco.cd.kamcoback.config.resttemplate; -import java.nio.charset.StandardCharsets; import lombok.extern.log4j.Log4j2; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.client.BufferingClientHttpRequestFactory; import org.springframework.http.client.SimpleClientHttpRequestFactory; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.client.RestTemplate; @Log4j2 @@ -20,13 +18,16 @@ public class RestTemplateConfig { baseFactory.setConnectTimeout(2000); baseFactory.setReadTimeout(3000); - MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter(); - jsonConverter.setDefaultCharset(StandardCharsets.UTF_8); + RestTemplate rt = + builder + .requestFactory(() -> new BufferingClientHttpRequestFactory(baseFactory)) + .additionalInterceptors(new RetryInterceptor()) + .build(); - return builder - .requestFactory(() -> new BufferingClientHttpRequestFactory(baseFactory)) - .messageConverters(jsonConverter) - .additionalInterceptors(new RetryInterceptor()) - .build(); + // byte[] 응답은 무조건 raw로 읽게 강제 (Jackson이 끼어들 여지 제거) + rt.getMessageConverters() + .add(0, new org.springframework.http.converter.ByteArrayHttpMessageConverter()); + + return rt; } }