이 글은 토비님의 Youtube 라이브(23.03.09)에서 본 내용을 토대로 작성된 것입니다!
Spring MVC 에서 제공하는 유명한 Http Client API
로 RestTemplate
가 있다.
사용하기 편하고 직관적이여서 많은 사랑을 받는 API 이다.
그런데 이렇게 잘만 쓰는 RestTemplate
가 Deprecated
된다는 말을 인터넷을
돌아다니다 보면 심심찮게 볼 수 있다.
물론 Java Doc 에는 WebClient 사용을 권고하는 말이 있지만 결코 RestTemplate 을
Deprecated 한다는 말은 어디에도 적혀 있지 않다.
그럼에도 google 에 검색하면 제법 조회 결과가 잘 나온다.
이 유언비어는 어디서부터 나온걸까?
놀랍게도... Spring javaDoc 에서 한번 RestTemplate 이 Deprecated 한다고 선언한 적이 있다!
2020/12/2 에 Spring 의 업데이트를 한적이 있는데, 그때 RestTemplate javadoc 에
Deprecated 된다고 써져 있었다!
하지만 얼마 안가서 해당 javadoc
의 deprecated
라는 된다는 표현이 도움이 안되며,
"정확하지 않다"라고 지적하는 github issue
가 올라온다.
https://github.com/spring-projects/spring-framework/issues/24503
이슈 작성자는 Spring 프로젝트를 (현재까지도) lead 하는 개발자 중 한 분이라고 하네요.
"정확하지 않다" 라는 표현을 봤을 때, 아무래도 애초에 API 를 없앨 계획이 없었나 보다 (추측).
이 이슈에 의해서 Deprecate
된다는 내용은 소리 소문없이 사라지게 되었다.
결과적으로 잠시였지만 Deprecate 된다는 Java Doc 의 내용을 오늘날까지 그대로
기억하는 개발자들에 의해서 여전히 인터넷에는 도시괴담 마냥 RestTemplate 이 사라진다는
말이 오고 간 것이다.
RestTemplate 은 사라질 예정을 잡은 적도, 할 예정도 없다! 맘껏 쓰자!
ps.2024-08-25 : spring boot 3 에서도 여전히 deprecated 되지 않았습니다!
현재
spring boot 3
버전이 나오고, 내부적으로는spring-web-6.x.x
의존성을 사용하고 있습니다. 그리고spring-web-6.x.x
에서는 (여전히)
RestTemplate 의 Deprecated 된다는 내용은 일절 없습니다.그러니 정말 안심하시고 쓰셔도 됩니다.
다만! 현재
JavaDoc
에서는RestTemplate
외에도spring-web.6.1.x
부터 나온RestClient
클래스를 사용해보는 것을 권장하고 있습니다. 조금 더 fluent 한 api 를 제공하기 때문에 세련된 코드를 작성할 수 있다고 하네용.
잘못된 정보네요.
https://docs.spring.io/spring-framework/docs/5.2.1.RELEASE/javadoc-api/index.html?org/springframework/web/client/RestTemplate.html
resttemplate deprecated 맞습니다. 위의 정보 고치던지 삭제하던지 하세요.
The RestTemplate will be deprecated in a future version and will not have major new features added going forward. See the WebClient section of the Spring Framework reference documentation for more details and example code.