이번 포스팅에선 RestTemplate은 정말 @Deprecated되는 건지 알아보려고 한다.
예~전 포스팅에서 RestTemplate vs WebClient에 대해서 다룬 적이 있었는데 그때는 막연하게 코드만 보고 내가 느낀 걸 썼다.
근데 때마침 토비님이 이에 대한 주제로 유튜브 라이브를 했던 걸 보게됐는데 속 시원하게 다 얘기해주셔서 너무 좋았다.
그래서 다시 깔끔하게 정리하고 싶었다.
RestTemplate가 @Deprecated된다는 루머는 어디서 시작된 걸까?
때는 바야흐로 2018년 7월 27일...
Rossen Stoyanchev가 RestTemplate이 나중 버전엔 deprecated된다는 커밋으로부터 시작됐다.
루머가 아니었던 것이었던 것이다.
그럼 RestTemplate가 정말 Deprecated되는 걸까?
deprecated될 거라는 커밋이 생기고 1년 5개월 뒤 문제의 커밋을 한 Rossen Stoyanchev가 deprecated 문장을 지우고 RestTemplate class는 maintenance mode라고 새로운 커밋을 남겼다.
처음엔 webclient를 밀어서 restemplate를 없앨 생각이었는데 생각보다 인기가 없어서 deprecated에서 maintenace mode로 변경한 게 아닐지..?라고 토비님이 말씀하셨다. 그럴싸하다.
결론
RestTemplate은 스프링 6.0에서도 maintenance mode를 유지 중이다.
deprecated 어노테이션이 붙을 때까진 사용해도 된다.
굳이 webclient로 마이그레이션할 필요가 없다.
근데 나는 webClient가 modern한 api를 제공하기 때문에 restTemplate보다 webClient를 선호한다.
spring mvc에서는 block을 붙여서 사용해야 하는 단점이 있긴하지만 ㅎㅎ..
신규 프로젝트에선 webClient를 사용 중이다.
취향에 맞게 사용하자.
'Spring' 카테고리의 다른 글
[Spring + Kotlin] class, enum에 @JsonCreator 사용하는 방법 (0) | 2023.11.09 |
---|---|
[Spring] Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.2 해결 방법 (0) | 2023.07.26 |
[Spring] @EnableJpaRepositories bootstrapMode 정리 (0) | 2023.07.09 |
[Spring] Spring Boot + Kotlin + MyBatis ResultType, ResultClass에 Enum 사용법 (0) | 2023.07.02 |
[Spring] Spring Boot + MySQL 설정 방법 (0) | 2023.07.02 |
댓글