クラス RouterFunctionMapping

実装されたすべてのインターフェース:
AwareBeanNameAwareInitializingBeanApplicationContextAwareOrderedServletContextAwareMatchableHandlerMappingHandlerMapping

public class RouterFunctionMapping extends AbstractHandlerMapping implements InitializingBean, MatchableHandlerMapping
RouterFunctions をサポートする HandlerMapping 実装。

構築時RouterFunction が提供されない場合、このマッピングはアプリケーションコンテキスト内のすべてのルーター関数を検出し、順番に調べます。

導入:
5.2
作成者:
Arjen Poutsma, Sebastien Deleuze, Brian Clozel
  • コンストラクターの詳細

    • RouterFunctionMapping

      public RouterFunctionMapping()
      空の RouterFunctionMapping を作成します。

      このコンストラクターが使用される場合、このマッピングは、アプリケーションコンテキストで使用可能なすべての RouterFunction インスタンスを検出します。

    • RouterFunctionMapping

      public RouterFunctionMapping(RouterFunction<?> routerFunction)
      指定された RouterFunction で RouterFunctionMapping を作成します。

      このコンストラクターを使用すると、アプリケーションコンテキストの検出は行われません。

      パラメーター:
      routerFunction - マッピングに使用するルーター関数
  • メソッドの詳細

    • setRouterFunction

      public void setRouterFunction(@Nullable RouterFunction<?> routerFunction)
      マッピングするルーター関数を設定します。

      このプロパティを使用すると、アプリケーションコンテキストの検出は行われません。

    • getRouterFunction

      @Nullable public RouterFunction<?> getRouterFunction()
      設定された RouterFunction を返します。

      注意 : ApplicationContext からルーター関数が検出された場合、afterPropertiesSet() の前に呼び出された場合、このメソッドは null を返すことがあります。

      戻り値:
      ルーター関数または null
    • setMessageConverters

      public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
      使用するメッセージ本文コンバーターを設定します。

      これらのコンバーターは、HTTP リクエストとレスポンスの変換に使用されます。

    • setDetectHandlerFunctionsInAncestorContexts

      public void setDetectHandlerFunctionsInAncestorContexts(boolean detectHandlerFunctionsInAncestorContexts)
      祖先 ApplicationContexts のハンドラー関数を検出するかどうかを設定します。

      デフォルトは「false」: 現在の ApplicationContext のハンドラー関数のみが検出されます。つまり、この HandlerMapping 自体が定義されているコンテキスト(通常は現在の DispatcherServlet のコンテキスト)のみです。

      このフラグをオンにして、祖先コンテキスト(通常は Spring ルート WebApplicationContext)のハンドラー Bean も検出します。

    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      例外:
      ExceptionSE - 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合
    • getHandlerInternal

      @Nullable protected ObjectSE getHandlerInternal(HttpServletRequestEE servletRequest) throws ExceptionSE
      クラスからコピーされた説明: AbstractHandlerMapping
      特定のリクエストのハンドラーを検索し、特定のリクエストが見つからない場合は null を返します。このメソッドは AbstractHandlerMapping.getHandler(jakarta.servlet.http.HttpServletRequest) によって呼び出されます。null の戻り値は、デフォルトのハンドラー(設定されている場合)につながります。

      CORS プリフライトリクエストでは、このメソッドはプリフライトリクエストではなく、URL パス、"Access-Control-Request-Method" ヘッダーからの HTTP メソッド、ヘッダーに基づいて予想される実際のリクエストに対して一致を返す必要があります "Access-Control-Request-Headers" ヘッダーから、AbstractHandlerMapping.getCorsConfiguration(Object, HttpServletRequest) を介して CORS 設定を取得できるようにします。

      メモ: このメソッドは、ハンドラーオブジェクトと動的に決定されたインターセプターを組み合わせて、事前に構築された HandlerExecutionChain を返すこともあります。静的に指定されたインターセプターは、そのような既存のチェーンにマージされます。

      次で指定:
      クラス AbstractHandlerMappinggetHandlerInternal 
      パラメーター:
      servletRequest - 現在の HTTP リクエスト
      戻り値:
      対応するハンドラーインスタンス。見つからない場合は null 
      例外:
      ExceptionSE - 内部エラーがある場合
    • match

      @Nullable public RequestMatchResult match(HttpServletRequestEE request, StringSE pattern)
      インターフェースからコピーされた説明: MatchableHandlerMapping
      リクエストが指定されたパターンに一致するかどうかを判別します。MatchableHandlerMapping.getPatternParser() が null を返す場合、このメソッドを使用します。これは、HandlerMapping が文字列パターンマッチングを使用していることを意味します。
      次で指定:
      インターフェース MatchableHandlerMappingmatch 
      パラメーター:
      request - 現在のリクエスト
      pattern - マッチングするパターン
      戻り値:
      リクエストマッチングの結果、または存在しない場合は null