public final class WebClient extends Object
Here is a simple example of a GET request:
static imports: ClientWebRequestBuilder.*, ResponseExtractors.*
// should be shared between HTTP calls
WebClient client = new WebClient(new ReactorHttpClient());
Mono<String> result = client
.perform(get("http://example.org/resource").accept(MediaType.TEXT_PLAIN))
.extract(body(String.class));
This Web client relies on the following:
ClientHttpConnector implementation to drive the underlying
library (e.g. Reactor-Netty)ClientWebRequestBuilder to create a Web request with a builder
API (see ClientWebRequestBuilders)ResponseExtractor to extract the relevant part of the server
response with the composition API of choice (see ResponseExtractorsClientWebRequestBuilders,
ResponseExtractors| Modifier and Type | Class and Description |
|---|---|
protected class |
WebClient.DefaultRequestCallback |
protected class |
WebClient.DefaultWebClientConfig |
| Constructor and Description |
|---|
WebClient(ClientHttpConnector clientHttpConnector)
Create a
WebClient instance, using the ClientHttpConnector
implementation given as an argument to drive the underlying
implementation. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDefaultHttpMessageReaders(List<HttpMessageReader<?>> messageReaders)
Adds default HTTP message readers.
|
protected void |
addDefaultHttpMessageWriters(List<HttpMessageWriter<?>> messageWriters)
Adds default HTTP message writers.
|
WebResponseActions |
perform(ClientWebRequestBuilder builder)
Perform the actual HTTP request/response exchange
|
void |
setMessageReaders(List<HttpMessageReader<?>> messageReaders)
Set the list of
HttpMessageReaders to use for decoding the HTTP
response body. |
void |
setMessageWriters(List<HttpMessageWriter<?>> messageWrters)
Set the list of
HttpMessageWriters to use for encoding the HTTP
request body. |
void |
setResponseErrorHandler(ResponseErrorHandler responseErrorHandler)
Set the
ResponseErrorHandler to use for handling HTTP response errors |
public WebClient(ClientHttpConnector clientHttpConnector)
WebClient instance, using the ClientHttpConnector
implementation given as an argument to drive the underlying
implementation.
Register by default the following Encoders and Decoders:
clientHttpConnector - the ClientHttpRequestFactory to useprotected final void addDefaultHttpMessageReaders(List<HttpMessageReader<?>> messageReaders)
protected final void addDefaultHttpMessageWriters(List<HttpMessageWriter<?>> messageWriters)
public void setMessageReaders(List<HttpMessageReader<?>> messageReaders)
HttpMessageReaders to use for decoding the HTTP
response body.public void setMessageWriters(List<HttpMessageWriter<?>> messageWrters)
HttpMessageWriters to use for encoding the HTTP
request body.public void setResponseErrorHandler(ResponseErrorHandler responseErrorHandler)
ResponseErrorHandler to use for handling HTTP response errorspublic WebResponseActions perform(ClientWebRequestBuilder builder)
Requesting from the exposed Flux will result in:
ClientWebRequestBuilderHttpMessageWriters