インターフェース HandlerAdapter

すべての既知の実装クラス:
HandlerFunctionAdapterRequestMappingHandlerAdapterSimpleHandlerAdapterWebSocketHandlerAdapter

public interface HandlerAdapter
特定の型のハンドラーの呼び出しの詳細を抽象化する契約。

リクエストがハンドラーに正常にマップされる前に発生する例外を処理したい場合、実装は DispatchExceptionHandler のインスタンスになることも選択できます。これにより、HandlerAdapter は、ハンドラー呼び出しエラーと、ハンドラーが選択される前のエラーの両方に対して、同じ例外処理を公開できます。Reactive Streams 用語では、handle(org.springframework.web.server.ServerWebExchange, java.lang.Object) は onNext シグナルを処理し、DispatchExceptionHandler.handleError(org.springframework.web.server.ServerWebExchange, java.lang.Throwable) はディスパッチ処理 チェーン からの onError シグナルを処理します。

導入:
5.0
作成者:
Rossen Stoyanchev, Sebastien Deleuze
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    reactor.core.publisher.Mono<HandlerResult>
    handle(ServerWebExchange exchange, ObjectSE handler)
    以前に supports(Object) を介してチェックされた、指定されたハンドラーでリクエストを処理します。
    boolean
    この HandlerAdapter が指定された handler をサポートするかどうか。
  • メソッドの詳細

    • supports

      boolean supports(ObjectSE handler)
      この HandlerAdapter が指定された handler をサポートするかどうか。
      パラメーター:
      handler - チェックするハンドラーオブジェクト
      戻り値:
      ハンドラーがサポートされているかどうか
    • handle

      reactor.core.publisher.Mono<HandlerResult> handle(ServerWebExchange exchange, ObjectSE handler)
      以前に supports(Object) を介してチェックされた、指定されたハンドラーでリクエストを処理します。

      実装では、例外処理について次のことを考慮する必要があります。

      • このメソッド内で呼び出し例外を処理します。
      • 返された HandlerResult の Set an exception handler は、非同期の戻り値からの遅延例外を処理し、レスポンスレンダリングからの例外を処理します。
      • DispatchExceptionHandler を実装して、ハンドラーが選択される前に発生する例外に例外処理を継承します。
      パラメーター:
      exchange - 現在のサーバー交換
      handler - supports(Object) を介して事前にチェックされている必要がある選択されたハンドラー
      戻り値:
      Mono は HandlerResult を発行するか、リクエストが完全に処理された場合は空になります。エラー信号は DispatcherHandler 内では処理されず、代わりに WebFilter チェーン の最後で登録された WebExceptionHandler の チェーン によって処理されます。