@NonNullApi @NonNullFields

# Package org.springframework.web.reactive.function.client

Provides a reactive `WebClient` that builds on top of the `org.springframework.http.client.reactive` reactive HTTP adapter layer.

See: Description

Interface Summary
ClientRequest: Represents a typed, immutable, client-side HTTP request, as executed by the `ExchangeFunction`.
ClientRequest.Builder: Defines a builder for a request.
ClientResponse: Represents an HTTP response, as returned by `WebClient` and also `ExchangeFunction`.
ClientResponse.Builder: Defines a builder for a response.
ClientResponse.Headers: Represents the headers of the HTTP response.
ExchangeFilterFunction: Represents a function that filters an exchange function.
ExchangeFunction: Represents a function that exchanges a request for a (delayed) ClientResponse.
ExchangeStrategies: Provides strategies for use in an `ExchangeFunction`.
ExchangeStrategies.Builder: A mutable builder for an `ExchangeStrategies`.
WebClient: Non-blocking, reactive client to perform HTTP requests, exposing a fluent, reactive API over underlying HTTP client libraries such as Reactor Netty.
WebClient.Builder: A mutable builder for creating a `WebClient`.
WebClient.RequestBodySpec: Contract for specifying request headers and body leading up to the exchange.
WebClient.RequestBodyUriSpec: Contract for specifying request headers, body and URI for a request.
WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>: Contract for specifying request headers leading up to the exchange.
WebClient.RequestHeadersUriSpec<S extends WebClient.RequestHeadersSpec<S>>: Contract for specifying request headers and URI for a request.
WebClient.ResponseSpec: Contract for specifying response operations following the exchange.
WebClient.UriSpec<S extends WebClient.RequestHeadersSpec<?>>: Contract for specifying the URI for a request.

Class Summary
ExchangeFilterFunctions: Static factory methods providing access to built-in implementations of `ExchangeFilterFunction` for basic authentication, error handling, etc.
ExchangeFilterFunctions.Credentials: Deprecated as of Spring 5.1 in favor of using `HttpHeaders.setBasicAuth(String, String)` while building the request.
ExchangeFunctions: Static factory methods to create an `ExchangeFunction`.

Exception Summary
UnknownHttpStatusCodeException: Exception thrown when an unknown (or custom) HTTP status code is received.
WebClientException: Abstract base class for exception published by `WebClient` in case of errors.
WebClientResponseException: Exceptions that contain actual HTTP response data.
WebClientResponseException.BadGateway: `WebClientResponseException` for status HTTP HTTP 502 Bad Gateway.
WebClientResponseException.BadRequest: `WebClientResponseException` for status HTTP 400 Bad Request.
WebClientResponseException.Conflict: `WebClientResponseException` for status HTTP 409 Conflict.
WebClientResponseException.Forbidden: `WebClientResponseException` for status HTTP 403 Forbidden.
WebClientResponseException.GatewayTimeout: `WebClientResponseException` for status HTTP 504 Gateway Timeout.
WebClientResponseException.Gone: `WebClientResponseException` for status HTTP 410 Gone.
WebClientResponseException.InternalServerError: `WebClientResponseException` for status HTTP 500 Internal Server Error.
WebClientResponseException.MethodNotAllowed: `WebClientResponseException` for status HTTP 405 Method Not Allowed.
WebClientResponseException.NotAcceptable: `WebClientResponseException` for status HTTP 406 Not Acceptable.
WebClientResponseException.NotFound: `WebClientResponseException` for status HTTP 404 Not Found.
WebClientResponseException.NotImplemented: `WebClientResponseException` for status HTTP 501 Not Implemented.
WebClientResponseException.ServiceUnavailable: `WebClientResponseException` for status HTTP 503 Service Unavailable.
WebClientResponseException.TooManyRequests: `WebClientResponseException` for status HTTP 429 Too Many Requests.
WebClientResponseException.Unauthorized: `WebClientResponseException` for status HTTP 401 Unauthorized.
WebClientResponseException.UnprocessableEntity: `WebClientResponseException` for status HTTP 422 Unprocessable Entity.
WebClientResponseException.UnsupportedMediaType: `WebClientResponseException` for status HTTP 415 Unsupported Media Type.

## Package org.springframework.web.reactive.function.client Description

Provides a reactive `WebClient` that builds on top of the `org.springframework.http.client.reactive` reactive HTTP adapter layer.