public class ResponseBodyResultHandler extends AbstractMessageWriterResultHandler implements HandlerResultHandler
HandlerResultHandler
that handles return values from methods annotated
with @ResponseBody
writing to the body of the request or response with
an HttpMessageWriter
.
By default the order for this result handler is set to 100. As it detects
the presence of @ResponseBody
it should be ordered after result
handlers that look for a specific return type. Note however that this handler
does recognize and explicitly ignores the ResponseEntity
return type.
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
ResponseBodyResultHandler(java.util.List<HttpMessageWriter<?>> messageWriters,
RequestedContentTypeResolver contentTypeResolver)
Constructor with
HttpMessageWriter s and a
RequestedContentTypeResolver . |
ResponseBodyResultHandler(java.util.List<HttpMessageWriter<?>> messageWriters,
RequestedContentTypeResolver contentTypeResolver,
ReactiveAdapterRegistry adapterRegistry)
Constructor with an additional
ReactiveAdapterRegistry . |
Modifier and Type | Method and Description |
---|---|
<any> |
handleResult(ServerWebExchange exchange,
HandlerResult result)
Process the given result modifying response headers and/or writing data
to the response.
|
private boolean |
hasResponseBodyAnnotation(MethodParameter parameter) |
private boolean |
isHttpEntityType(HandlerResult result) |
boolean |
supports(HandlerResult result)
Whether this handler supports the given
HandlerResult . |
getMessageWriters, writeBody
getAdapterRegistry, getContentTypeResolver, getOrder, selectMediaType, setOrder
public ResponseBodyResultHandler(java.util.List<HttpMessageWriter<?>> messageWriters, RequestedContentTypeResolver contentTypeResolver)
HttpMessageWriter
s and a
RequestedContentTypeResolver
.messageWriters
- writers for serializing to the response body streamcontentTypeResolver
- for resolving the requested content typepublic ResponseBodyResultHandler(java.util.List<HttpMessageWriter<?>> messageWriters, RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry adapterRegistry)
ReactiveAdapterRegistry
.messageWriters
- writers for serializing to the response body streamcontentTypeResolver
- for resolving the requested content typeadapterRegistry
- for adapting other reactive types (e.g. rx.Observable,
rx.Single, etc.) to Flux or Monopublic boolean supports(HandlerResult result)
HandlerResultHandler
HandlerResult
.supports
in interface HandlerResultHandler
result
- result object to checkprivate boolean hasResponseBodyAnnotation(MethodParameter parameter)
private boolean isHttpEntityType(HandlerResult result)
public <any> handleResult(ServerWebExchange exchange, HandlerResult result)
HandlerResultHandler
handleResult
in interface HandlerResultHandler
exchange
- current server exchangeresult
- the result from the handlingMono<Void>
to indicate when request handling is complete.