org.springframework.web.reactive.result.method.annotation

## Class ResponseEntityResultHandler

- java.lang.Object
- - org.springframework.web.reactive.result.HandlerResultHandlerSupport
  - - org.springframework.web.reactive.result.method.annotation.AbstractMessageWriterResultHandler
    - - org.springframework.web.reactive.result.method.annotation.ResponseEntityResultHandler

- All Implemented Interfaces:
    Ordered, HandlerResultHandler

      public class ResponseEntityResultHandler
      extends AbstractMessageWriterResultHandler
      implements HandlerResultHandler

  Handles `HttpEntity` and `ResponseEntity` return values.

  By default the order for this result handler is set to 0. It is generally safe to place it early in the order as it looks for a concrete return type.

  Since:
    5.0
  Author:
    Rossen Stoyanchev

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.reactive.result.method.annotation.AbstractMessageWriterResultHandler

      `COROUTINES_FLOW_CLASS_NAME`

    - ### Fields inherited from class org.springframework.web.reactive.result.HandlerResultHandlerSupport

      `logger`

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResponseEntityResultHandler(List<HttpMessageWriter<?>> writers, RequestedContentTypeResolver resolver)` Basic constructor with a default `ReactiveAdapterRegistry`.
    `ResponseEntityResultHandler(List<HttpMessageWriter<?>> writers, RequestedContentTypeResolver resolver, ReactiveAdapterRegistry registry)` Constructor with an `ReactiveAdapterRegistry` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `reactor.core.publisher.Mono<Void>` | `handleResult(ServerWebExchange exchange, HandlerResult result)` Process the given result modifying response headers and/or writing data to the response.
    `boolean` | `supports(HandlerResult result)` Whether this handler supports the given `HandlerResult`.

    - ### Methods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractMessageWriterResultHandler

      `getMessageWriters, writeBody, writeBody`

    - ### Methods inherited from class org.springframework.web.reactive.result.HandlerResultHandlerSupport

      `getAdapter, getAdapterRegistry, getContentTypeResolver, getOrder, selectMediaType, setOrder`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ResponseEntityResultHandler

          public ResponseEntityResultHandler(List<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

    - #### ResponseEntityResultHandler

          public ResponseEntityResultHandler(List<HttpMessageWriter<?>> writers,
                                             RequestedContentTypeResolver resolver,
                                             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 Detail

    - #### 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(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.