Class HandlerResultHandlerSupport
java.lang.Object
org.springframework.web.reactive.result.HandlerResultHandlerSupport
- All Implemented Interfaces:
Ordered
- Direct Known Subclasses:
AbstractMessageWriterResultHandler
,ViewResolutionResultHandler
Base class for
HandlerResultHandler
with support for content negotiation and access to a
ReactiveAdapter
registry.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ModifierConstructorDescriptionprotected
HandlerResultHandlerSupport
(RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry adapterRegistry) -
Method Summary
Modifier and TypeMethodDescriptionprotected ReactiveAdapter
getAdapter
(HandlerResult result) Get aReactiveAdapter
for the top-level return value type.Return the configuredReactiveAdapterRegistry
.Return the configuredRequestedContentTypeResolver
.int
getOrder()
Get the order value of this object.protected MediaType
selectMediaType
(ServerWebExchange exchange, Supplier<List<MediaType>> producibleTypesSupplier) Select the best media type for the current request through a content negotiation algorithm.void
setOrder
(int order) Set the order for this result handler relative to others.
-
Field Details
-
logger
-
-
Constructor Details
-
HandlerResultHandlerSupport
protected HandlerResultHandlerSupport(RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry adapterRegistry)
-
-
Method Details
-
getAdapterRegistry
Return the configuredReactiveAdapterRegistry
. -
getContentTypeResolver
Return the configuredRequestedContentTypeResolver
. -
setOrder
public void setOrder(int order) Set the order for this result handler relative to others.By default set to
Ordered.LOWEST_PRECEDENCE
, however see Javadoc of sub-classes which may change this default.- Parameters:
order
- the order
-
getOrder
public int getOrder()Description copied from interface:Ordered
Get the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startup
values).Same order values will result in arbitrary sort positions for the affected objects.
-
getAdapter
Get aReactiveAdapter
for the top-level return value type.- Returns:
- the matching adapter, or
null
if none
-
selectMediaType
@Nullable protected MediaType selectMediaType(ServerWebExchange exchange, Supplier<List<MediaType>> producibleTypesSupplier) Select the best media type for the current request through a content negotiation algorithm.- Parameters:
exchange
- the current requestproducibleTypesSupplier
- the media types that can be produced for the current request- Returns:
- the selected media type, or
null
if none
-