Class ViewResolutionResultHandler
- java.lang.Object
- org.springframework.web.reactive.result.HandlerResultHandlerSupport
- org.springframework.web.reactive.result.view.ViewResolutionResultHandler
- All Implemented Interfaces:
Ordered,HandlerResultHandler
public class ViewResolutionResultHandler extends HandlerResultHandlerSupport implements HandlerResultHandler, Ordered
HandlerResultHandlerthat encapsulates the view resolution algorithm supporting the following return types:Voidor no value -- default view nameString-- view name unless@ModelAttribute-annotatedView-- View to render withModel-- attributes to add to the modelMap-- attributes to add to the modelRendering-- use case driven API for view resolution@ModelAttribute-- attribute for the model- Non-simple value -- attribute for the model
A String-based view name is resolved through the configured
ViewResolverinstances into aViewto use for rendering. If a view is left unspecified (e.g. by returningnullor a model-related return value), a default view name is selected.By default this resolver is ordered at
Ordered.LOWEST_PRECEDENCEand generally needs to be late in the order since it interprets any String return value as a view name or any non-simple value type as a model attribute while other result handlers may interpret the same otherwise based on the presence of annotations, e.g. for@ResponseBody.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
Field Summary
Fields inherited from class org.springframework.web.reactive.result.HandlerResultHandlerSupport
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description ViewResolutionResultHandler(List<ViewResolver> viewResolvers, RequestedContentTypeResolver contentTypeResolver)Basic constructor with a defaultReactiveAdapterRegistry.ViewResolutionResultHandler(List<ViewResolver> viewResolvers, RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry registry)Constructor with anReactiveAdapterRegistryinstance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<View>getDefaultViews()Return the configured defaultView's.List<ViewResolver>getViewResolvers()Return a read-only list of view resolvers.reactor.core.publisher.Mono<Void>handleResult(ServerWebExchange exchange, HandlerResult result)Process the given result modifying response headers and/or writing data to the response.voidsetDefaultViews(List<View> defaultViews)Set the default views to consider always when resolving view names and trying to satisfy the best matching content type.booleansupports(HandlerResult result)Whether this handler supports the givenHandlerResult.Methods inherited from class org.springframework.web.reactive.result.HandlerResultHandlerSupport
getAdapter, getAdapterRegistry, getContentTypeResolver, getOrder, selectMediaType, setOrder
Constructor Detail
ViewResolutionResultHandler
public ViewResolutionResultHandler(List<ViewResolver> viewResolvers, RequestedContentTypeResolver contentTypeResolver)
Basic constructor with a defaultReactiveAdapterRegistry.- Parameters:
viewResolvers- the resolver to usecontentTypeResolver- to determine the requested content type
ViewResolutionResultHandler
public ViewResolutionResultHandler(List<ViewResolver> viewResolvers, RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry registry)
Constructor with anReactiveAdapterRegistryinstance.- Parameters:
viewResolvers- the view resolver to usecontentTypeResolver- to determine the requested content typeregistry- for adaptation to reactive types
Method Detail
getViewResolvers
public List<ViewResolver> getViewResolvers()
Return a read-only list of view resolvers.
setDefaultViews
public void setDefaultViews(@Nullable List<View> defaultViews)
Set the default views to consider always when resolving view names and trying to satisfy the best matching content type.
getDefaultViews
public List<View> getDefaultViews()
Return the configured defaultView's.
supports
public boolean supports(HandlerResult result)
Description copied from interface:HandlerResultHandlerWhether this handler supports the givenHandlerResult.- Specified by:
supportsin interfaceHandlerResultHandler- Parameters:
result- the result object to check- Returns:
- whether or not this object can use the given result
handleResult
public reactor.core.publisher.Mono<Void> handleResult(ServerWebExchange exchange, HandlerResult result)
Description copied from interface:HandlerResultHandlerProcess the given result modifying response headers and/or writing data to the response.- Specified by:
handleResultin interfaceHandlerResultHandler- Parameters:
exchange- current server exchangeresult- the result from the handling- Returns:
Mono<Void>to indicate when request handling is complete.