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 anHttpMessageWriter
.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
Field Summary
Fields inherited from interface org.springframework.web.reactive.result.view.View
BINDING_CONTEXT_ATTRIBUTE
Constructor Summary
Constructors Constructor Description HttpMessageWriterView(Encoder<?> encoder)
Constructor with anEncoder
.HttpMessageWriterView(HttpMessageWriter<?> writer)
Constructor with a fully initializedHttpMessageWriter
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpMessageWriter<?>
getMessageWriter()
Return the configured message writer.Set<String>
getModelKeys()
Return the configured model keys.List<MediaType>
getSupportedMediaTypes()
Return the list of media types this View supports, or an empty list.reactor.core.publisher.Mono<Void>
render(Map<String,?> model, MediaType contentType, ServerWebExchange exchange)
Render the view based on the givenHandlerResult
.void
setModelKeys(Set<String> modelKeys)
Set the attributes in the model that should be rendered by this view.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.web.reactive.result.view.View
isRedirectView
Constructor Detail
HttpMessageWriterView
public HttpMessageWriterView(Encoder<?> encoder)
Constructor with anEncoder
.
HttpMessageWriterView
public HttpMessageWriterView(HttpMessageWriter<?> writer)
Constructor with a fully initializedHttpMessageWriter
.
Method Detail
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 toHttpMessageWriter.getWritableMediaTypes()
.- Specified by:
getSupportedMediaTypes
in interfaceView
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 withHttpMessageWriter.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 anIllegalStateException
.
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 givenHandlerResult
. Implementations can access and use the model or only a specific attribute in it.- Specified by:
render
in interfaceView
- Parameters:
model
- a Map with name Strings as keys and corresponding model objects as values (Map can also benull
in case of empty model)contentType
- the content type selected to render with which should match one of thesupported media types
.exchange
- the current exchange- Returns:
Mono
to represent when and if rendering succeeds