<aside> 💡 이 라이브러리들의 공통점은 HTTP 통신을 지원하기 위해 다양한 기능을 제공해주는 것으로 외부 api를 호출하거나 외부 서비스와 상호작용할 때 그 결과를 처리하기 위해 사용됩니다.
</aside>
그렇다면 이 기능들의 차이는 뭘까?
차이를 알아보기 전에 라이브러리들을 하나씩 알아보자!!
스프링 프레임워크에서 제공하는 HTTP 클라이언트 라이브러리로 아래와 같은 특징이 있습니다.
이러한 특징들로, 스프링 프레임워크의 일부이기에 다양한 기능지원을 통해 간편한 사용을 할수 있다는 장점이 있습니다. 하지만 단점 또한 존재합니다
가장 큰문제가 바로 동기식 호출입니다. 요청을 보낸 후 응답이 올 때까지 스레드를 차단하는 것을 의미하는데 간단히 말해 호출한 작업이 완료될 때까지 대기하고, 다른 작업을 수행하지 않는 방식입니다. 고객이 많고 응답 시간이 긴 경우에는 성능 문제를 야기할 수 있습니다.
RestTemplate은 스프링에서 제거되나요?
이러한 문제를 해결하고 나온것이 Spring 5부터 도입된 webClient입니다.
스프링 5부터 도입된 리액티브 프로그래밍 모델을 완벽하게 지원하는 HTTP 클라이언트 라이브러리 특징으로는