BackEnd/Spring & Springboot Study

RestTemplate은 스프링에서 제거되나요?

공공데이터 포털에서 동물병원위치 데이터를 mysql에 저장하고 EPSG:2097 형식으로 저장된 데이터를 카카오 맵 API의 좌표 변환을 통해 다른 테이블에 저장하려한다.

RestTemplate를 사용해보려 하는데 이에 관한 영상을 토비님이 업로드 하셔서 정리해보고자 한다.

 

"RestTemplate이 deprecate 될거라는 얘기가 계속 있다보니 없어질 기술을 계속 사용할 수 없어서 다른 방안을 찾았습니다. 스프링 문서에서 권장하는 WebClient에 관심이 생겼습니다. 그런데 이걸 쓰려니 WebFlux 모듈을 추가해야 하더라고요. 저는 WebFlux 의존성 추가에 대한 거부감을 극복하지 못하고 결국 RestTemplate도, WebClient도 아닌 대안을 찾아야 했는데..."
- Discord 토비의 스프링 서버에서 @ChangYong 님

Spring3.0 -> RestTemplate (RestApi 호출하는 기능 사용시 RestTemplate를 자주 사용)

 

RestTemplate ... Spring5.0에서 Deprecated 됐다?

 

공식문서에서는 다음과 같이 설명한다.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html

As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be accepted going forward. Please, consider using the 
org.springframework.web.reactive.client.WebClient
 which has a more modern API and supports sync, async, and streaming scenarios.

5.0 부터 작은 변경사항이나, 버그들만 처리하는 유지보수 모드로 들어간다.

모던한 API와 Sync, Async 그리고 스트리밍을 지원하는 WebClient의 사용을 고려하라.

 

결론 : RestTemplate는 Deprecated되지 않았고 계속 사용할 수 있다.

 

20202/12/2일자 스프링 공식문서에 RestTemplate가 Deprecated된다는 주석이 들어간 적이 있어 그런 이야기가 나온것 같다.

https://github.com/spring-projects/spring-framework/issues/24503

 

Update advice on RestTemplate · Issue #24503 · spring-projects/spring-framework

It would be more helpful, and also accurate, to explain that the RestTemplate is in maintenance mode rather than mention a potential deprecation in the future.

github.com