public static interface WebClient.ResponseSpec
Modifier and Type | Method and Description |
---|---|
<T> reactor.core.publisher.Flux<T> |
bodyToFlux(Class<T> elementClass)
Extract the body to a
Flux . |
<T> reactor.core.publisher.Flux<T> |
bodyToFlux(ParameterizedTypeReference<T> elementTypeRef)
Extract the body to a
Flux . |
<T> reactor.core.publisher.Mono<T> |
bodyToMono(Class<T> elementClass)
Extract the body to a
Mono . |
<T> reactor.core.publisher.Mono<T> |
bodyToMono(ParameterizedTypeReference<T> elementTypeRef)
Extract the body to a
Mono . |
WebClient.ResponseSpec |
onRawStatus(IntPredicate statusCodePredicate,
Function<ClientResponse,reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction)
Variant of
onStatus(Predicate, Function) that works with
raw status code values. |
WebClient.ResponseSpec |
onStatus(Predicate<HttpStatus> statusPredicate,
Function<ClientResponse,reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction)
Provide a function to map specific error status codes to an error
signal to be propagated downstream instead of the response.
|
reactor.core.publisher.Mono<ResponseEntity<Void>> |
toBodilessEntity()
Return the response as a delayed
ResponseEntity containing status and headers,
but no body. |
<T> reactor.core.publisher.Mono<ResponseEntity<T>> |
toEntity(Class<T> bodyClass)
Return the response as a delayed
ResponseEntity . |
<T> reactor.core.publisher.Mono<ResponseEntity<T>> |
toEntity(ParameterizedTypeReference<T> bodyTypeReference)
Return the response as a delayed
ResponseEntity . |
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> |
toEntityList(Class<T> elementClass)
Return the response as a delayed list of
ResponseEntity s. |
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> |
toEntityList(ParameterizedTypeReference<T> elementTypeRef)
Return the response as a delayed list of
ResponseEntity s. |
WebClient.ResponseSpec onStatus(Predicate<HttpStatus> statusPredicate, Function<ClientResponse,reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction)
By default, if there are no matching status handlers, responses
with status codes >= 400 are mapped to
WebClientResponseException
which is created with
ClientResponse.createException()
.
To suppress the treatment of a status code as an error and process
it as a normal response, return Mono.empty()
from the function.
The response will then propagate downstream to be processed.
To ignore an error response completely, and propagate neither
response nor error, use a filter
, or
add onErrorResume
downstream, for example:
webClient.get() .uri("https://abc.com/account/123") .retrieve() .bodyToMono(Account.class) .onErrorResume(WebClientResponseException.class, ex -> ex.getRawStatusCode() == 404 ? Mono.empty() : Mono.error(ex));
statusPredicate
- to match responses withexceptionFunction
- to map the response to an error signalClientResponse.createException()
WebClient.ResponseSpec onRawStatus(IntPredicate statusCodePredicate, Function<ClientResponse,reactor.core.publisher.Mono<? extends Throwable>> exceptionFunction)
onStatus(Predicate, Function)
that works with
raw status code values. This is useful for custom status codes.statusCodePredicate
- to match responses withexceptionFunction
- to map the response to an error signal<T> reactor.core.publisher.Mono<T> bodyToMono(Class<T> elementClass)
Mono
. By default, if the response has status code 4xx or
5xx, the Mono
will contain a WebClientException
. This can be overridden
with onStatus(Predicate, Function)
.T
- response body typeelementClass
- the expected response body element classWebClientResponseException
if the
status code is 4xx or 5xx<T> reactor.core.publisher.Mono<T> bodyToMono(ParameterizedTypeReference<T> elementTypeRef)
Mono
. By default, if the response has status code 4xx or
5xx, the Mono
will contain a WebClientException
. This can be overridden
with onStatus(Predicate, Function)
.T
- response body typeelementTypeRef
- a type reference describing the expected response body element typeWebClientResponseException
if the
status code is 4xx or 5xx<T> reactor.core.publisher.Flux<T> bodyToFlux(Class<T> elementClass)
Flux
. By default, if the response has status code 4xx or
5xx, the Flux
will contain a WebClientException
. This can be overridden
with onStatus(Predicate, Function)
.T
- the type of elements in the responseelementClass
- the class of elements in the responseWebClientResponseException
if the
status code is 4xx or 5xx<T> reactor.core.publisher.Flux<T> bodyToFlux(ParameterizedTypeReference<T> elementTypeRef)
Flux
. By default, if the response has status code 4xx or
5xx, the Flux
will contain a WebClientException
. This can be overridden
with onStatus(Predicate, Function)
.T
- the type of elements in the responseelementTypeRef
- a type reference describing the expected response body element typeWebClientResponseException
if the
status code is 4xx or 5xx<T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(Class<T> bodyClass)
ResponseEntity
. By default, if the response has
status code 4xx or 5xx, the Mono
will contain a WebClientException
. This
can be overridden with onStatus(Predicate, Function)
.T
- response body typebodyClass
- the expected response body typeMono
with the ResponseEntity
<T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(ParameterizedTypeReference<T> bodyTypeReference)
ResponseEntity
. By default, if the response has
status code 4xx or 5xx, the Mono
will contain a WebClientException
. This
can be overridden with onStatus(Predicate, Function)
.T
- response body typebodyTypeReference
- a type reference describing the expected response body typeMono
with the ResponseEntity
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(Class<T> elementClass)
ResponseEntity
s. By default, if the
response has status code 4xx or 5xx, the Mono
will contain a
WebClientException
. This can be overridden with
onStatus(Predicate, Function)
.T
- the type of elements in the listelementClass
- the expected response body list element classMono
with the list of ResponseEntity
s<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(ParameterizedTypeReference<T> elementTypeRef)
ResponseEntity
s. By default, if the
response has status code 4xx or 5xx, the Mono
will contain a
WebClientException
. This can be overridden with
onStatus(Predicate, Function)
.T
- the type of elements in the listelementTypeRef
- the expected response body list element reference typeMono
with the list of ResponseEntity
sreactor.core.publisher.Mono<ResponseEntity<Void>> toBodilessEntity()
ResponseEntity
containing status and headers,
but no body. By default, if the response has status code 4xx or 5xx, the Mono
will contain a WebClientException
. This can be overridden with
onStatus(Predicate, Function)
.
Calling this method will release the body of
the response.Mono
with the bodiless ResponseEntity