Spring Boot에서 외부 API를 호출할 수 있는 방법을 찾던 중, 기존에 많이 쓰이던 방법인 RestTemplate과 WebClient를 알게 되었다.
RestTemplate은 스프링 프레임워크에서 제공하는 HTTP 클라이언트 라이브러리로, RESTful API를 호출할 수 있다.
WebClient는 Spring 5부터 도입된 비동기적이고 리액티브한 HTTP 클라이언트 라이브러리이다.
위 두 가지를 공부하다가 Spring Boot 3.2.0 에서 추가된 RestClient에 대해 알게 되어 공부하였다.
RestClient는 WebClient와 비슷한 방식으로 동작하는 HTTP 클라이언트 라이브러리이다. 다만, Spring MVC 환경에서도 사용 가능해 WebClient와 달리 WebFlux 의존성을 추가하지 않아도 되는 장점이 있으며, RestTemplate이 직관적이지 못했던 점을 개선하여 더 편리하게 사용할 수 있다.
또, 기존의 메시지 컨버터, 요청 팩토리, 인터셉터 및 RestTemplate의 다른 구성 요소를 그대로 사용할 수 있다.
이번에 RestClient를 사용하여 외부 서버에 API 요청을 보내는 작업을 해보고 있다.
최근에 나온 라이브러리라 레퍼런스는 별로 없지만 최신 라이브러리를 사용해 볼 수 있는 경험이라 좋을 것 같다!