코딩 연습장/오류!

[Spring] RestTemplate 파일 업로드 API 호출 시 ContentType이 안넘어가는 이슈

Do아 2023. 8. 24. 01:10
728x90

2023/08/24(수)

 

 

  오류 과정

Java안에서 파일 업로드하는 API를 호출하여 response값을 받아와야 하는 로직을 구성 중이었다. 

RestTemplate 라이브러리를 사용하여 API를 호출했는데 response값이 오류가 나왔다.

파일 업로드 이외 다른 API 호출 시 같은 RestTemplate 라이브러리를 사용중이라 로직에 이상이 없는데도 제대로된 응답값이 오지 않았고 의아하여 서버 로그를 확인요청 했는데 파일의 ContentType이 제대로 오지 않고 있다고 했다.

보통 파일의 ContentType값은 image/png, image/jpeg 등으로 나와야하는데 이상한 값이 들어가고 있었다.

 

 

 

  오류 이유

결론적으로 spring 버전차이로 인한 이슈였다.

내가 개발하는 소스의 spring-web jar 버전이 3.2.10인데 해당 버전에서 RestTemplate으로 파일 업로드 api 호출 시 ContentType이 제대로 안들어가는 것이었다. (추가 설정을 해줘야할 수 도 있을것 같다)

 

 

 

  해결

spring-web 버전을 5.1.14 이상 버전으로 변경 후 똑같은 코드로 호출하니 잘되는 것으로 확인했다.

하지만 내가 개발하고 있는 솔루션은 spring 버전을 함부로 변경했다 사이드 이펙트나 일이 커질수있어 다른 방법을 적용했다.

바로 RestTemplate 대신 Okhttp를 사용하여 API를 호출해주어 해결했다.

의존성을 Okhttp3을 추가해줘야한다.

 

 

 

언제나 버전은 날 힘들게 해..

 

 

 

728x90