[Spring] RestTemplate Deprecated? Nope!

식빵·2023년 3월 9일
0

Spring Lab

목록 보기
19/35
post-thumbnail

🙄 RestTemplate Deprecated ?

이 글은 토비님의 Youtube 라이브(23.03.09)에서 본 내용을 토대로 작성된 것입니다!

Spring MVC 에서 제공하는 유명한 Http Client APIRestTemplate 가 있다.

사용하기 편하고 직관적이여서 많은 사랑을 받는 API 이다.
그런데 이렇게 잘만 쓰는 RestTemplateDeprecated 된다는 말을 인터넷을
돌아다니다 보면 심심찮게 볼 수 있다.

물론 Java Doc 에는 WebClient 사용을 권고하는 말이 있지만 결코 RestTemplate 을
Deprecated 한다는 말은 어디에도 적혀 있지 않다.



그럼에도 google 에 검색하면 제법 조회 결과가 잘 나온다.

이 유언비어는 어디서부터 나온걸까?


놀랍게도... Spring javaDoc 에서 한번 RestTemplate 이 Deprecated 한다고 선언한 적이 있다!
2020/12/2 에 Spring 의 업데이트를 한적이 있는데, 그때 RestTemplate javadoc 에
Deprecated 된다고 써져 있었다!


하지만 얼마 안가서 해당 javadocdeprecated 라는 된다는 표현이 도움이 안되며,
"정확하지 않다"라고 지적하는 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 를 제공하기 때문에 세련된 코드를 작성할 수 있다고 하네용.

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

3개의 댓글

comment-user-thumbnail
2023년 8월 27일

잘못된 정보네요.
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.

1개의 답글
comment-user-thumbnail
2024년 10월 6일

eksksk111 님 게시물을 조금만 더 자세히 읽어주시면 감사하겠습니다.

댓글부터 읽는 분들이 계실까봐 걱정되서 쓰는 말이지만, 결과적으로 Deprecate 되지 않았습니다.
현재 spring boot 3.x 에 와서도 여전히 Deprecate 된다는 소식은 일절 없습니다.
편하게 계속 쓰시면 되겠습니다.

답글 달기