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
ResponseEntitys. |
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> |
toEntityList(ParameterizedTypeReference<T> elementTypeRef)
Return the response as a delayed list of
ResponseEntitys. |
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)
ResponseEntitys. 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 ResponseEntitys<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(ParameterizedTypeReference<T> elementTypeRef)
ResponseEntitys. 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 ResponseEntitysreactor.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