Class HttpMessageWriterView

java.lang.Object
org.springframework.web.reactive.result.view.HttpMessageWriterView
All Implemented Interfaces:
View

public class HttpMessageWriterView extends Object implements View
View that writes model attribute(s) with an HttpMessageWriter.
Since:
5.0
Author:
Rossen Stoyanchev
  • Constructor Details

    • HttpMessageWriterView

      public HttpMessageWriterView(Encoder<?> encoder)
      Constructor with an Encoder.
    • HttpMessageWriterView

      public HttpMessageWriterView(HttpMessageWriter<?> writer)
      Constructor with a fully initialized HttpMessageWriter.
  • Method Details

    • getMessageWriter

      public HttpMessageWriter<?> getMessageWriter()
      Return the configured message writer.
    • getSupportedMediaTypes

      public List<MediaType> getSupportedMediaTypes()
      Return the list of media types this View supports, or an empty list.

      The implementation of this method for HttpMessageWriterView delegates to HttpMessageWriter.getWritableMediaTypes().

      Specified by:
      getSupportedMediaTypes in interface View
    • setModelKeys

      public void setModelKeys(@Nullable Set<String> modelKeys)
      Set the attributes in the model that should be rendered by this view. When set, all other model attributes will be ignored. The matching attributes are further narrowed with HttpMessageWriter.canWrite(ResolvableType, MediaType). The matching attributes are processed as follows:
      • 0: nothing is written to the response body.
      • 1: the matching attribute is passed to the writer.
      • 2..N: if the writer supports Map, write all matches; otherwise raise an IllegalStateException.
    • getModelKeys

      public final Set<String> getModelKeys()
      Return the configured model keys.
    • render

      public reactor.core.publisher.Mono<Void> render(@Nullable Map<String,?> model, @Nullable MediaType contentType, ServerWebExchange exchange)
      Description copied from interface: View
      Render the view based on the given HandlerResult. Implementations can access and use the model or only a specific attribute in it.
      Specified by:
      render in interface View
      Parameters:
      model - a Map with name Strings as keys and corresponding model objects as values (Map can also be null in case of empty model)
      contentType - the content type selected to render with which should match one of the supported media types.
      exchange - the current exchange
      Returns:
      Mono to represent when and if rendering succeeds