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
HandlerResultHandler that encapsulates the view resolution algorithm supporting the following return types:
  • Void, void, or no value -- default view name
  • string -- view name unless @ModelAttribute-annotated
  • View -- View to render with
  • Model -- attributes to add to the model
  • Map -- attributes to add to the model
  • Rendering -- 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 ViewResolver instances into a View to use for rendering. If a view is left unspecified (for example, by returning null or a model-related return value), a default view name is selected.

By default this resolver is ordered at Ordered.LOWEsT_PRECEDENCE and 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, for example, for @ResponseBody.

since:
5.0
Author:
Rossen stoyanchev
  • Constructor Details

  • Method Details

    • getViewResolvers

      public&nbsp;List<ViewResolver>&nbsp;getViewResolvers()
      Return a read-only list of view resolvers.
    • setDefaultViews

      public&nbsp;void&nbsp;setDefaultViews(@Nullable List<View>&nbsp;defaultViews)
      set the default views to consider always when resolving view names and trying to satisfy the best matching content type.
    • getDefaultViews

      public&nbsp;List<View>&nbsp;getDefaultViews()
      Return the configured default View's.
    • supports

      public&nbsp;boolean&nbsp;supports(HandlerResult&nbsp;result)
      Description copied from interface:&nbsp;HandlerResultHandler
      Whether this handler supports the given HandlerResult.
      specified by:
      supports&nbsp;in interface&nbsp;HandlerResultHandler
      Parameters:
      result - the result object to check
      Returns:
      whether this object can use the given result
    • handleResult

      public&nbsp;reactor.core.publisher.Mono<Void>&nbsp;handleResult(serverWebExchange&nbsp;exchange, HandlerResult&nbsp;result)
      Description copied from interface:&nbsp;HandlerResultHandler
      Process the given result modifying response headers and/or writing data to the response.
      specified by:
      handleResult&nbsp;in interface&nbsp;HandlerResultHandler
      Parameters:
      exchange - current server exchange
      result - the result from the handling
      Returns:
      Mono<Void> to indicate when request handling is complete.