@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
  Interface | Description
  --- | ---
  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
  Class | Description
  --- | ---
  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
  Exception | Description
  --- | ---
  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.
  WebClientRequestException | Exceptions that contain actual HTTP request data.
  WebClientResponseException | Exceptions that contain actual HTTP response data.
  WebClientResponseException.BadGateway | `WebClientResponseException` for HTTP status 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.