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.int
Return the (potentially non-standard) status code of this response.reactor.core.publisher.Mono<Void>
Release the body of this response.response()
Return the wrapped request.Return the HTTP status code as anHttpStatus
enum 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. -
strategies
Description copied from interface:ClientResponse
Return the strategies used to convert the body of this response.- Specified by:
strategies
in interfaceClientResponse
-
statusCode
Description copied from interface:ClientResponse
Return the HTTP status code as anHttpStatus
enum value.- Specified by:
statusCode
in interfaceClientResponse
- Returns:
- the HTTP status as an HttpStatus enum value (never
null
) - See Also:
-
rawStatusCode
public int rawStatusCode()Description copied from interface:ClientResponse
Return the (potentially non-standard) status code of this response.- Specified by:
rawStatusCode
in interfaceClientResponse
- Returns:
- the HTTP status as an integer value
- See Also:
-
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
-
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
-