Class ResponseBodyResultHandler

All Implemented Interfaces:
org.springframework.core.Ordered, HandlerResultHandler

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.

Since:
5.0
Author:
Rossen Stoyanchev, Stephane Maldini, Sebastien Deleuze, Arjen Poutsma
  • Constructor Details

    • ResponseBodyResultHandler

      public ResponseBodyResultHandler(List<org.springframework.http.codec.HttpMessageWriter<?>> writers, RequestedContentTypeResolver resolver)
      Basic constructor with a default ReactiveAdapterRegistry.
      Parameters:
      writers - the writers for serializing to the response body
      resolver - to determine the requested content type
    • ResponseBodyResultHandler

      public ResponseBodyResultHandler(List<org.springframework.http.codec.HttpMessageWriter<?>> writers, RequestedContentTypeResolver resolver, org.springframework.core.ReactiveAdapterRegistry registry)
      Constructor with an ReactiveAdapterRegistry instance.
      Parameters:
      writers - the writers for serializing to the response body
      resolver - to determine the requested content type
      registry - for adaptation to reactive types
  • Method Details

    • supports

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

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