Start here. This is the direct spoken answer to practice first.
Overview
The client API must fit the caller's concurrency model; fluent or declarative syntax does not change a blocking dependency.
RestClient is Spring's fluent synchronous HTTP client and fits imperative MVC code. WebClient is the non-blocking reactive client and fits reactive or streaming composition, while MVC code can also use it when that asynchronous model is intentional. An HTTP Service interface declares annotated client methods and is backed by a configured client adapter. I choose from execution and contract needs, not from which syntax has fewer lines.