インターフェース 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 の チェーンによって処理されます。