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(org.springframework.core.codec.Encoder<?> encoder)
      Constructor with an Encoder.
    • HttpMessageWriterView

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

    • getMessageWriter

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

      public List<org.springframework.http.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(org.springframework.core.ResolvableType, org.springframework.http.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 org.springframework.http.MediaType contentType, org.springframework.web.server.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