*** ### What Is the _WebClient_? _WebClient_ is an interface representing the main entry point for performing web requests. It was created as part of the Spring Web Reactive module and will be replacing the classic _RestTemplate_ in these scenarios. In addition, the new client is a reactive, non-blocking solution that works over the HTTP/1.1 protocol. It's important to note that even though it is, in fact, a non-blocking client, and it belongs to the _spring-webflux_ library, the solution **offers support for both synchronous and asynchronous operations**, making it suitable also for applications running on a Servlet Stack. This can be achieved by blocking the operation to obtain the result. Of course, this practice is not suggested if we're working on a Reactive Stack. The interface has a single implementation, the _DefaultWebClient_ class. ### Building with Maven ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> ``` ### Building with Gradle ```groovy dependencies { compile 'org.springframework.boot:spring-boot-starter-webflux' } ``` *** **References**: - [Spring 5 WebClient](https://www.baeldung.com/spring-5-webclient)