org.springframework.web.reactive

## Interface HandlerAdapter

All Known Implementing Classes:
  HandlerFunctionAdapter, RequestMappingHandlerAdapter, SimpleHandlerAdapter, WebSocketHandlerAdapter

    public interface HandlerAdapter

Contract that decouples the `DispatcherHandler` from the details of invoking a handler and makes it possible to support any handler type.

Since:
  5.0
Author:
  Rossen Stoyanchev, Sebastien Deleuze

### Method Summary

All Methods Instance Methods Abstract Methods
`reactor.core.publisher.Mono<HandlerResult>` `handle(org.springframework.web.server.ServerWebExchange exchange, Object handler)` Handle the request with the given handler.
`boolean` `supports(Object handler)` Whether this `HandlerAdapter` supports the given `handler`.

### Method Detail

#### supports

    boolean supports(Object handler)

Whether this `HandlerAdapter` supports the given `handler`.

Parameters:
  `handler` - the handler object to check
Returns:
  whether or not the handler is supported

#### handle

    reactor.core.publisher.Mono<HandlerResult> handle(org.springframework.web.server.ServerWebExchange exchange,
                                                      Object handler)

Handle the request with the given handler.

Implementations are encouraged to handle exceptions resulting from the invocation of a handler in order and if necessary to return an alternate result that represents an error response.

Furthermore since an async `HandlerResult` may produce an error later during result handling implementations are also encouraged to `set an exception handler` on the `HandlerResult` so that may also be applied later after result handling.

Parameters:
  `exchange` - current server exchange
  `handler` - the selected handler which must have been previously checked via `supports(Object)`
Returns:
  `Mono` that emits a single `HandlerResult` or none if the request has been fully handled and doesn't require further handling.