Class ClientResponseWrapper
java.lang.Object
org.springframework.web.reactive.function.client.support.ClientResponseWrapper
- All Implemented Interfaces:
ClientResponse
Implementation of the
ClientResponse
interface that can be subclassed
to adapt the request in a
exchange filter function
.
All methods default to calling through to the wrapped request.- Since:
- 5.0.5
- Author:
- Arjen Poutsma
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Implementation of theHeaders
interface that can be subclassed to adapt the headers in aexchange filter function
.Nested classes/interfaces inherited from interface org.springframework.web.reactive.function.client.ClientResponse
ClientResponse.Builder, ClientResponse.Headers
-
Constructor Summary
ConstructorDescriptionClientResponseWrapper
(ClientResponse delegate) Create a newClientResponseWrapper
that wraps the given response. -
Method Summary
Modifier and TypeMethodDescription<T> T
body
(BodyExtractor<T, ? super ClientHttpResponse> extractor) Extract the body with the givenBodyExtractor
.<T> reactor.core.publisher.Flux<T>
bodyToFlux
(Class<? extends T> elementClass) Extract the body to aFlux
.<T> reactor.core.publisher.Flux<T>
bodyToFlux
(ParameterizedTypeReference<T> elementTypeRef) Extract the body to aFlux
.<T> reactor.core.publisher.Mono<T>
bodyToMono
(Class<? extends T> elementClass) Extract the body to aMono
.<T> reactor.core.publisher.Mono<T>
bodyToMono
(ParameterizedTypeReference<T> elementTypeRef) Extract the body to aMono
.cookies()
Return the cookies of this response.<T> reactor.core.publisher.Mono<T>
Create aMono
that terminates with aWebClientResponseException
, containing the response status, headers, body, and the originating request.reactor.core.publisher.Mono<WebClientResponseException>
Create aWebClientResponseException
that contains the response status, headers, body, and the originating request.headers()
Return the headers of this response.Return a log message prefix to use to correlate messages for this exchange.reactor.core.publisher.Mono<Void>
Release the body of this response.request()
Return the request associated with the response.response()
Return the wrapped request.Return the HTTP status code as anHttpStatusCode
value.Return the strategies used to convert the body of this response.reactor.core.publisher.Mono<ResponseEntity<Void>>
Return this response as a delayedResponseEntity
containing status and headers, but no body.<T> reactor.core.publisher.Mono<ResponseEntity<T>>
Return this response as a delayedResponseEntity
.<T> reactor.core.publisher.Mono<ResponseEntity<T>>
toEntity
(ParameterizedTypeReference<T> bodyTypeReference) Return this response as a delayedResponseEntity
.<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>>
toEntityList
(Class<T> elementClass) Return this response as a delayed list ofResponseEntity
s.<T> reactor.core.publisher.Mono<ResponseEntity<List<T>>>
toEntityList
(ParameterizedTypeReference<T> elementTypeRef) Return this response as a delayed list ofResponseEntity
s.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.web.reactive.function.client.ClientResponse
mutate
-
Constructor Details
-
ClientResponseWrapper
Create a newClientResponseWrapper
that wraps the given response.- Parameters:
delegate
- the response to wrap
-
-
Method Details
-
response
Return the wrapped request. -
statusCode
Description copied from interface:ClientResponse
Return the HTTP status code as anHttpStatusCode
value.- Specified by:
statusCode
in interfaceClientResponse
- Returns:
- the HTTP status as an HttpStatusCode value (never
null
)
-
headers
Description copied from interface:ClientResponse
Return the headers of this response.- Specified by:
headers
in interfaceClientResponse
-
cookies
Description copied from interface:ClientResponse
Return the cookies of this response.- Specified by:
cookies
in interfaceClientResponse
-
strategies
Description copied from interface:ClientResponse
Return the strategies used to convert the body of this response.- Specified by:
strategies
in interfaceClientResponse
-
request
Description copied from interface:ClientResponse
Return the request associated with the response.- Specified by:
request
in interfaceClientResponse
-
body
Description copied from interface:ClientResponse
Extract the body with the givenBodyExtractor
.- Specified by:
body
in interfaceClientResponse
- Type Parameters:
T
- the type of the body returned- Parameters:
extractor
- theBodyExtractor
that reads from the response- Returns:
- the extracted body
-
bodyToMono
Description copied from interface:ClientResponse
Extract the body to aMono
.- Specified by:
bodyToMono
in interfaceClientResponse
- Type Parameters:
T
- the element type- Parameters:
elementClass
- the class of element in theMono
- Returns:
- a mono containing the body of the given type
T
-
bodyToMono
Description copied from interface:ClientResponse
Extract the body to aMono
.- Specified by:
bodyToMono
in interfaceClientResponse
- Type Parameters:
T
- the element type- Parameters:
elementTypeRef
- the type reference of element in theMono
- Returns:
- a mono containing the body of the given type
T
-
bodyToFlux
Description copied from interface:ClientResponse
Extract the body to aFlux
.- Specified by:
bodyToFlux
in interfaceClientResponse
- Type Parameters:
T
- the element type- Parameters:
elementClass
- the class of elements in theFlux
- Returns:
- a flux containing the body of the given type
T
-
bodyToFlux
Description copied from interface:ClientResponse
Extract the body to aFlux
.- Specified by:
bodyToFlux
in interfaceClientResponse
- Type Parameters:
T
- the element type- Parameters:
elementTypeRef
- the type reference of elements in theFlux
- Returns:
- a flux containing the body of the given type
T
-
releaseBody
Description copied from interface:ClientResponse
Release the body of this response.- Specified by:
releaseBody
in interfaceClientResponse
- Returns:
- a completion signal
- See Also:
-
toBodilessEntity
Description copied from interface:ClientResponse
Return this response as a delayedResponseEntity
containing status and headers, but no body. Calling this method will release the body of the response.- Specified by:
toBodilessEntity
in interfaceClientResponse
- Returns:
Mono
with the bodilessResponseEntity
-
toEntity
Description copied from interface:ClientResponse
Return this response as a delayedResponseEntity
.- Specified by:
toEntity
in interfaceClientResponse
- Type Parameters:
T
- response body type- Parameters:
bodyType
- the expected response body type- Returns:
Mono
with theResponseEntity
-
toEntity
public <T> reactor.core.publisher.Mono<ResponseEntity<T>> toEntity(ParameterizedTypeReference<T> bodyTypeReference) Description copied from interface:ClientResponse
Return this response as a delayedResponseEntity
.- Specified by:
toEntity
in interfaceClientResponse
- Type Parameters:
T
- response body type- Parameters:
bodyTypeReference
- a type reference describing the expected response body type- Returns:
Mono
with theResponseEntity
-
toEntityList
Description copied from interface:ClientResponse
Return this response as a delayed list ofResponseEntity
s.- Specified by:
toEntityList
in interfaceClientResponse
- Type Parameters:
T
- the type of elements in the list- Parameters:
elementClass
- the expected response body list element class- Returns:
Mono
with the list ofResponseEntity
s
-
toEntityList
public <T> reactor.core.publisher.Mono<ResponseEntity<List<T>>> toEntityList(ParameterizedTypeReference<T> elementTypeRef) Description copied from interface:ClientResponse
Return this response as a delayed list ofResponseEntity
s.- Specified by:
toEntityList
in interfaceClientResponse
- Type Parameters:
T
- the type of elements in the list- Parameters:
elementTypeRef
- the expected response body list element reference type- Returns:
Mono
with the list ofResponseEntity
s
-
createException
Description copied from interface:ClientResponse
Create aWebClientResponseException
that contains the response status, headers, body, and the originating request.- Specified by:
createException
in interfaceClientResponse
- Returns:
- a
Mono
with the created exception
-
createError
public <T> reactor.core.publisher.Mono<T> createError()Description copied from interface:ClientResponse
Create aMono
that terminates with aWebClientResponseException
, containing the response status, headers, body, and the originating request.- Specified by:
createError
in interfaceClientResponse
- Type Parameters:
T
- the reified type- Returns:
- a
Mono
that fails with aWebClientResponseException
. - See Also:
-
logPrefix
Description copied from interface:ClientResponse
Return a log message prefix to use to correlate messages for this exchange.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 "]".- Specified by:
logPrefix
in interfaceClientResponse
- Returns:
- the log message prefix or an empty String if the
LOG_ID_ATTRIBUTE
is not set
-