Class WebClientAdapter
java.lang.Object
org.springframework.web.reactive.function.client.support.WebClientAdapter
- All Implemented Interfaces:
HttpClientAdapter
HttpClientAdapter that enables an HttpServiceProxyFactory to
use WebClient for request execution.
Use static factory methods in this class to create an
HttpServiceProxyFactory configured with a given WebClient.
- Since:
- 6.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionstatic WebClientAdapterCreate aWebClientAdapterfor the givenWebClientinstance.reactor.core.publisher.Mono<ResponseEntity<Void>>requestToBodilessEntity(HttpRequestValues requestValues) Variant ofHttpClientAdapter.requestToVoid(HttpRequestValues)with additional access to the response status and headers.<T> reactor.core.publisher.Mono<T>requestToBody(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Perform the given request and decode the response content to the given type.<T> reactor.core.publisher.Flux<T>requestToBodyFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Perform the given request and decode the response content to a stream with elements of the given type.<T> reactor.core.publisher.Mono<ResponseEntity<T>>requestToEntity(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Variant ofHttpClientAdapter.requestToBody(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.<T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>>requestToEntityFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Variant ofHttpClientAdapter.requestToBodyFlux(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.reactor.core.publisher.Mono<HttpHeaders>requestToHeaders(HttpRequestValues requestValues) Perform the given request, release the response content, and return the response headers.reactor.core.publisher.Mono<Void>requestToVoid(HttpRequestValues requestValues) Perform the given request, and release the response content, if any.
-
Method Details
-
requestToVoid
Description copied from interface:HttpClientAdapterPerform the given request, and release the response content, if any.- Specified by:
requestToVoidin interfaceHttpClientAdapter- Parameters:
requestValues- the request to perform- Returns:
Monothat completes when the request is fully executed and the response content is released.
-
requestToHeaders
Description copied from interface:HttpClientAdapterPerform the given request, release the response content, and return the response headers.- Specified by:
requestToHeadersin interfaceHttpClientAdapter- Parameters:
requestValues- the request to perform- Returns:
Monothat returns the response headers the request is fully executed and the response content released.
-
requestToBody
public <T> reactor.core.publisher.Mono<T> requestToBody(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpClientAdapterPerform the given request and decode the response content to the given type.- Specified by:
requestToBodyin interfaceHttpClientAdapter- Type Parameters:
T- the type the response is decoded to- Parameters:
requestValues- the request to performbodyType- the target type to decode to- Returns:
Monothat returns the decoded response.
-
requestToBodyFlux
public <T> reactor.core.publisher.Flux<T> requestToBodyFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpClientAdapterPerform the given request and decode the response content to a stream with elements of the given type.- Specified by:
requestToBodyFluxin interfaceHttpClientAdapter- Type Parameters:
T- the type the response is decoded to- Parameters:
requestValues- the request to performbodyType- the target stream element type to decode to- Returns:
Fluxwith decoded stream elements.
-
requestToBodilessEntity
public reactor.core.publisher.Mono<ResponseEntity<Void>> requestToBodilessEntity(HttpRequestValues requestValues) Description copied from interface:HttpClientAdapterVariant ofHttpClientAdapter.requestToVoid(HttpRequestValues)with additional access to the response status and headers.- Specified by:
requestToBodilessEntityin interfaceHttpClientAdapter
-
requestToEntity
public <T> reactor.core.publisher.Mono<ResponseEntity<T>> requestToEntity(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpClientAdapterVariant ofHttpClientAdapter.requestToBody(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.- Specified by:
requestToEntityin interfaceHttpClientAdapter
-
requestToEntityFlux
public <T> reactor.core.publisher.Mono<ResponseEntity<reactor.core.publisher.Flux<T>>> requestToEntityFlux(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpClientAdapterVariant ofHttpClientAdapter.requestToBodyFlux(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.- Specified by:
requestToEntityFluxin interfaceHttpClientAdapter
-
forClient
Create aWebClientAdapterfor the givenWebClientinstance.- Parameters:
webClient- the client to use- Returns:
- the created adapter instance
-