クラス MappedInterceptor

java.lang.ObjectSE
org.springframework.web.servlet.handler.MappedInterceptor
実装されたすべてのインターフェース:
HandlerInterceptor

public final class MappedInterceptor extends ObjectSE implements HandlerInterceptor
HandlerInterceptor をラップし、URL パターンを使用して、指定されたリクエストに適用されるかどうかを判断します。

パターンマッチングは、PathMatcher または解析された PathPattern を使用して実行できます。構文はほとんど同じですが、後者の方が Web での使用に合わせてより効率的に調整されています。この選択は、解決されたString lookupPath または解析されたRequestPath の存在によって決定され、現在のリクエストに一致した HandlerMapping に依存します。

MappedInterceptor は、型 MappedInterceptor の Bean を検出し、それに直接登録されているインターセプターがこの型であるかどうかをチェックする AbstractHandlerMethodMapping のサブクラスによってサポートされます。

導入:
3.0
作成者:
Keith Donald, Rossen Stoyanchev, Brian Clozel
  • コンストラクターの詳細

  • メソッドの詳細

    • getPathPatterns

      @Nullable @DeprecatedSE(since="6.1", forRemoval=true) public StringSE[] getPathPatterns()
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      6.1 以降、getIncludePathPatterns() を推奨
      このインターセプタがマッピングされているインクルードパスパターンを取得します。
      関連事項:
    • getIncludePathPatterns

      @Nullable public StringSE[] getIncludePathPatterns()
      このインターセプタがマッピングされているインクルードパスパターンを取得します。
      導入:
      6.1
      関連事項:
    • getExcludePathPatterns

      @Nullable public StringSE[] getExcludePathPatterns()
      このインターセプタがマッピングされている除外パスパターンを取得します。
      導入:
      6.1
      関連事項:
    • getInterceptor

      public HandlerInterceptor getInterceptor()
      一致した場合に呼び出すターゲット HandlerInterceptor
    • setPathMatcher

      public void setPathMatcher(PathMatcher pathMatcher)
      URL パスを包含および除外パターンと照合するために使用するように PathMatcher を構成します。

      これは、カスタマイズされた AntPathMatcher またはカスタム PathMatcher が必要な場合にのみ使用する必要がある高度なプロパティです。

      デフォルトでは、これは AntPathMatcher です。

      PathMatcher を設定すると、解析されたRequestPath が使用可能な場合でも、文字列パターンマッチングの使用が強制されます。

    • getPathMatcher

      public PathMatcher getPathMatcher()
      構成された PathMatcher を取得します。
    • matches

      public boolean matches(HttpServletRequestEE request)
      このインターセプターがリクエストにマップされているかどうかを確認します。

      リクエストマッピングパスは、外部で解決されている必要があります。クラスレベルの Javadoc も参照してください。

      パラメーター:
      request - 一致するリクエスト
      戻り値:
      インターセプターをリクエストに適用する必要がある場合は true 
    • matches

      @DeprecatedSE(since="5.3") public boolean matches(StringSE lookupPath, PathMatcher pathMatcher)
      使用すべきではありません。
      5.3 現在、matches(HttpServletRequest) を推奨
      指定されたルックアップパスに一致するものがあるかどうかを確認します。
      パラメーター:
      lookupPath - 現在のリクエストパス
      pathMatcher - パスパターンマッチング用のパスマッチャー
      戻り値:
      インターセプターが特定のリクエストパスに適用される場合は true 
    • preHandle

      public boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ExceptionSE
      インターフェースからコピーされた説明: HandlerInterceptor
      ハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。

      DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。

      注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor を参照してください。

      デフォルトの実装は true を返します。

      次で指定:
      インターフェース HandlerInterceptorpreHandle 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型および / またはインスタンス評価のために、実行するために選択されたハンドラー
      戻り値:
      実行チェーンが次のインターセプターまたはハンドラー自体を続行する必要がある場合は、true。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。
      例外:
      ExceptionSE - エラーの場合
    • postHandle

      public void postHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE
      インターフェースからコピーされた説明: HandlerInterceptor
      ハンドラーの実行が成功した後のインターセプトポイント。HandlerAdapter が実際にハンドラーを呼び出した後、DispatcherServlet がビューをレンダリングする前に呼び出されます。指定された ModelAndView を介して、追加のモデルオブジェクトをビューに公開できます。

      DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターは実行を後処理でき、実行チェーンの逆順で適用されます。

      注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor を参照してください。

      デフォルトの実装は空です。

      次で指定:
      インターフェース HandlerInterceptorpostHandle 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
      modelAndView - ハンドラーが返した ModelAndView (null にすることもできます)
      例外:
      ExceptionSE - エラーの場合
    • afterCompletion

      public void afterCompletion(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE
      インターフェースからコピーされた説明: HandlerInterceptor
      リクエスト処理の補完後、つまりビューのレンダリング後のコールバック。ハンドラー実行の結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。

      メモ: このインターセプターの preHandle メソッドが正常に完了し、true を返した場合にのみ呼び出されます!

      postHandle メソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。

      注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor を参照してください。

      デフォルトの実装は空です。

      次で指定:
      インターフェース HandlerInterceptorafterCompletion 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      handler - 型やインスタンスの検査のために、非同期実行を開始したハンドラー(または HandlerMethod
      ex - ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません
      例外:
      ExceptionSE - エラーの場合