Class AbstractReactorHttpExchangeAdapter
java.lang.Object
org.springframework.web.service.invoker.AbstractReactorHttpExchangeAdapter
- All Implemented Interfaces:
HttpExchangeAdapter, ReactorHttpExchangeAdapter
- Direct Known Subclasses:
WebClientAdapter
public abstract class AbstractReactorHttpExchangeAdapter
extends Object
implements ReactorHttpExchangeAdapter
Convenient base class for a
ReactorHttpExchangeAdapter implementation
adapting to the synchronous HttpExchangeAdapter contract.- Since:
- 6.1
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProtected constructor, for subclasses. -
Method Summary
Modifier and TypeMethodDescriptionvoidexchange(HttpRequestValues requestValues) Perform the given request, and release the response content, if any.exchangeForBodilessEntity(HttpRequestValues requestValues) Variant ofHttpExchangeAdapter.exchange(HttpRequestValues)with additional access to the response status and headers.<T> @Nullable TexchangeForBody(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Perform the given request and decode the response content to the given type.<T> ResponseEntity<T> exchangeForEntity(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Variant ofHttpExchangeAdapter.exchangeForBody(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.exchangeForHeaders(HttpRequestValues requestValues) Perform the given request, release the response content, and return the response headers.Return the configured time to block for the response from an HTTP service method with a synchronous (blocking) method signature.Return the configuredReactiveAdapterRegistry.voidsetBlockTimeout(@Nullable Duration blockTimeout) Configure how long to block for the response of an HTTP service method as described ingetBlockTimeout().voidsetReactiveAdapterRegistry(ReactiveAdapterRegistry reactiveAdapterRegistry) Configure theReactiveAdapterRegistryto use.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface HttpExchangeAdapter
supportsRequestAttributesMethods inherited from interface ReactorHttpExchangeAdapter
exchangeForBodilessEntityMono, exchangeForBodyFlux, exchangeForBodyMono, exchangeForEntityFlux, exchangeForEntityMono, exchangeForHeadersMono, exchangeForMono
-
Constructor Details
-
AbstractReactorHttpExchangeAdapter
protected AbstractReactorHttpExchangeAdapter()Protected constructor, for subclasses.
-
-
Method Details
-
setReactiveAdapterRegistry
Configure theReactiveAdapterRegistryto use.By default, this is
ReactiveAdapterRegistry.getSharedInstance(). -
getReactiveAdapterRegistry
Description copied from interface:ReactorHttpExchangeAdapterReturn the configuredReactiveAdapterRegistry.- Specified by:
getReactiveAdapterRegistryin interfaceReactorHttpExchangeAdapter
-
setBlockTimeout
Configure how long to block for the response of an HTTP service method as described ingetBlockTimeout(). -
getBlockTimeout
Description copied from interface:ReactorHttpExchangeAdapterReturn the configured time to block for the response from an HTTP service method with a synchronous (blocking) method signature.By default, not set in which case the behavior depends on connection and request timeout settings of the underlying HTTP client. We recommend configuring timeout values directly on the underlying HTTP client, which provides more control over such settings.
- Specified by:
getBlockTimeoutin interfaceReactorHttpExchangeAdapter
-
exchange
Description copied from interface:HttpExchangeAdapterPerform the given request, and release the response content, if any.- Specified by:
exchangein interfaceHttpExchangeAdapter- Parameters:
requestValues- the request to perform
-
exchangeForHeaders
Description copied from interface:HttpExchangeAdapterPerform the given request, release the response content, and return the response headers.- Specified by:
exchangeForHeadersin interfaceHttpExchangeAdapter- Parameters:
requestValues- the request to perform- Returns:
- the response headers
-
exchangeForBody
public <T> @Nullable T exchangeForBody(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpExchangeAdapterPerform the given request and decode the response content to the given type.- Specified by:
exchangeForBodyin interfaceHttpExchangeAdapter- Type Parameters:
T- the type the response is decoded to- Parameters:
requestValues- the request to performbodyType- the target type to decode to- Returns:
- the decoded response body.
-
exchangeForBodilessEntity
Description copied from interface:HttpExchangeAdapterVariant ofHttpExchangeAdapter.exchange(HttpRequestValues)with additional access to the response status and headers.- Specified by:
exchangeForBodilessEntityin interfaceHttpExchangeAdapter- Returns:
- the response entity with status and headers.
-
exchangeForEntity
public <T> ResponseEntity<T> exchangeForEntity(HttpRequestValues requestValues, ParameterizedTypeReference<T> bodyType) Description copied from interface:HttpExchangeAdapterVariant ofHttpExchangeAdapter.exchangeForBody(HttpRequestValues, ParameterizedTypeReference)with additional access to the response status and headers.- Specified by:
exchangeForEntityin interfaceHttpExchangeAdapter- Returns:
- the response entity with status, headers, and body.
-