public interface ClientResponse
WebClient and also
ExchangeFunction. Provides access to the response status and
headers, and also methods to consume the response body.| Modifier and Type | Interface and Description |
|---|---|
static interface |
ClientResponse.Builder
Defines a builder for a response.
|
static interface |
ClientResponse.Headers
Represents the headers of the HTTP response.
|
| Modifier and Type | Method and Description |
|---|---|
<T> T |
body(BodyExtractor<T,? super ClientHttpResponse> extractor)
Extract the body with the given
BodyExtractor. |
<T> reactor.core.publisher.Flux<T> |
bodyToFlux(Class<? extends 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<? extends T> elementClass)
Extract the body to a
Mono. |
<T> reactor.core.publisher.Mono<T> |
bodyToMono(ParameterizedTypeReference<T> elementTypeRef)
Extract the body to a
Mono. |
MultiValueMap<String,ResponseCookie> |
cookies()
Return the cookies of this response.
|
static ClientResponse.Builder |
create(HttpStatus statusCode)
Create a response builder with the given status code and using default strategies for
reading the body.
|
static ClientResponse.Builder |
create(HttpStatus statusCode,
ExchangeStrategies strategies)
Create a response builder with the given status code and strategies for reading the body.
|
static ClientResponse.Builder |
create(HttpStatus statusCode,
List<HttpMessageReader<?>> messageReaders)
Create a response builder with the given status code and message body readers.
|
static ClientResponse.Builder |
create(int statusCode,
ExchangeStrategies strategies)
Create a response builder with the given raw status code and strategies for reading the body.
|
reactor.core.publisher.Mono<WebClientResponseException> |
createException()
Create a
WebClientResponseException that contains the response
status, headers, body, and the originating request. |
static ClientResponse.Builder |
from(ClientResponse other)
Deprecated.
as of 5.3 in favor of the instance based
mutate(). |
ClientResponse.Headers |
headers()
Return the headers of this response.
|
String |
logPrefix()
Return a log message prefix to use to correlate messages for this exchange.
|
default ClientResponse.Builder |
mutate()
Return a builder to mutate this response, for example to change
the status, headers, cookies, and replace or transform the body.
|
int |
rawStatusCode()
Return the (potentially non-standard) status code of this response.
|
reactor.core.publisher.Mono<Void> |
releaseBody()
Release the body of this response.
|
HttpStatus |
statusCode()
Return the HTTP status code as an
HttpStatus enum value. |
ExchangeStrategies |
strategies()
Return the strategies used to convert the body of this response.
|
reactor.core.publisher.Mono<ResponseEntity<Void>> |
toBodilessEntity()
Return this response as a delayed
ResponseEntity containing
status and headers, but no body. |
<T> reactor.core.publisher.Mono<ResponseEntity<T>> |
toEntity(Class<T> bodyClass)
Return this response as a delayed
ResponseEntity. |
<T> reactor.core.publisher.Mono<ResponseEntity<T>> |
toEntity(ParameterizedTypeReference<T> bodyTypeReference)
Return this response as a delayed
ResponseEntity. |
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> |
toEntityList(Class<T> elementClass)
Return this response as a delayed list of
ResponseEntitys. |
<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> |
toEntityList(ParameterizedTypeReference<T> elementTypeRef)
Return this response as a delayed list of
ResponseEntitys. |
HttpStatus statusCode()
HttpStatus enum value.null)IllegalArgumentException - in case of an unknown HTTP status codeHttpStatus.valueOf(int)int rawStatusCode()
statusCode(),
HttpStatus.resolve(int)ClientResponse.Headers headers()
MultiValueMap<String,ResponseCookie> cookies()
ExchangeStrategies strategies()
<T> T body(BodyExtractor<T,? super ClientHttpResponse> extractor)
BodyExtractor.T - the type of the body returnedextractor - the BodyExtractor that reads from the response<T> reactor.core.publisher.Mono<T> bodyToMono(Class<? extends T> elementClass)
Mono.T - the element typeelementClass - the class of element in the MonoT<T> reactor.core.publisher.Mono<T> bodyToMono(ParameterizedTypeReference<T> elementTypeRef)
Mono.T - the element typeelementTypeRef - the type reference of element in the MonoT<T> reactor.core.publisher.Flux<T> bodyToFlux(Class<? extends T> elementClass)
Flux.T - the element typeelementClass - the class of elements in the FluxT<T> reactor.core.publisher.Flux<T> bodyToFlux(ParameterizedTypeReference<T> elementTypeRef)
Flux.T - the element typeelementTypeRef - the type reference of elements in the FluxTreactor.core.publisher.Mono<Void> releaseBody()
DataBufferUtils.release(DataBuffer)<T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(Class<T> bodyClass)
ResponseEntity.T - response body typebodyClass - the expected response body typeMono with the ResponseEntity<T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(ParameterizedTypeReference<T> bodyTypeReference)
ResponseEntity.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.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.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. Calling this method will
release the body of the response.Mono with the bodiless ResponseEntityreactor.core.publisher.Mono<WebClientResponseException> createException()
WebClientResponseException that contains the response
status, headers, body, and the originating request.Mono with the created exceptionString logPrefix()
The prefix is based on ClientRequest.logPrefix(), which
itself is based on the value of the LOG_ID_ATTRIBUTE request attribute, further surrounded with "[" and "]".
LOG_ID_ATTRIBUTE is not setdefault ClientResponse.Builder mutate()
@Deprecated static ClientResponse.Builder from(ClientResponse other)
mutate().Note: Note that the body in the returned builder is
Flux.empty() by default. To carry over the one from the original
response, use otherResponse.bodyToFlux(DataBuffer.class) or
simply use the instance based mutate() method.
other - the response to copy the status, headers, and cookies fromstatic ClientResponse.Builder create(HttpStatus statusCode)
statusCode - the status codestatic ClientResponse.Builder create(HttpStatus statusCode, ExchangeStrategies strategies)
statusCode - the status codestrategies - the strategiesstatic ClientResponse.Builder create(int statusCode, ExchangeStrategies strategies)
statusCode - the status codestrategies - the strategiesstatic ClientResponse.Builder create(HttpStatus statusCode, List<HttpMessageReader<?>> messageReaders)
statusCode - the status codemessageReaders - the message readers