RestTemplate과 WebClient
WebClient란?
RestTemplate과 거의 흡사한 개념이다.
RestTemplate
RestTemplate이란? RestTemplate restTemplate = new RestTemplate(); 간편하게 Rest방식의 API를 호출할 수 있는 Spring 내장 클래스입니다. Spring 3.0부터 지원이 되며, Json, Xml 응답을 모두 받을 수 있습니..
astrid-dm.tistory.com
다만 RestTemplate보다 WebClient가 보다 늦게 등장했으며,
향후 RestTemplate은 Deprecated되고 WebClient가 RestTemplate을 대체할 예정이다.
RestTemplate와 차이점은?
Rest Template은 Synchronous하고 blocking하다. 즉, web에서 서비스를 요청하고 다음 행동을 하려면 response가 올때까지 우선 기다려야 다음행동이 가능하다는 소리다.
WebClient는 그 반대로 Asynchronous하다. 호출한 사람이 responser가 올때까지 기다리지 않아도 reponse가 오면 알림을 받는다.
참고로 WebClient는 RestTemplate이 지원하는 것 처럼 Synchronous하게 활용할 수도 있으니, RestTemplate와 대비했을때 기능적인 면에서 상위호환격으로 볼 수 있다.
참고 자료 출처
JUNEYR님 - RestTemplate 말고 WebClient
RestTemplate 말고 WebClient
가장 먼저 코드로 본 web 요청 인터페이스는 WebClient였고, 명확하고 직관적이여서 자주 썼다. 그런데 현재 프로젝트에서는 RestTemplate과 WebClient가 혼재되어있어서, 이 둘에 대해서 조금 알아볼까
juneyr.dev