クラス MappedInterceptor
- 実装されているすべてのインターフェース:
HandlerInterceptor
HandlerInterceptor をラップし、URL パターンを使用して、指定されたリクエストに適用されるかどうかを判断します。 パターンマッチングは、PathMatcher または解析された PathPattern を使用して実行できます。構文はほぼ同じですが、後者の方が Web での使用に適しており、より効率的です。選択は、解決されたString lookupPath または解析されたRequestPath の存在によって決まります。これは、現在のリクエストに一致した HandlerMapping に依存します。
MappedInterceptor は、型 MappedInterceptor の Bean を検出し、それに直接登録されているインターセプターがこの型であるかどうかをチェックする AbstractHandlerMethodMapping のサブクラスによってサポートされます。
- 導入:
- 3.0
- 作成者:
- Keith Donald, Rossen Stoyanchev, Brian Clozel
コンストラクターの概要
コンストラクターコンストラクター説明MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HttpMethod @Nullable [] includeHttpMethods, HttpMethod @Nullable [] excludeHttpMethods, HandlerInterceptor interceptor, @Nullable PathPatternParser parser) 指定された包含パターンと除外パターンおよび HTTP メソッドを使用してインスタンスを作成します。MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, WebRequestInterceptor interceptor) MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HandlerInterceptor interceptor) MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HandlerInterceptor interceptor, @Nullable PathPatternParser parser) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。HTTP メソッドのコンストラクターバリアントを優先するMappedInterceptor(StringSE @Nullable [] includePatterns, WebRequestInterceptor interceptor) MappedInterceptor(StringSE @Nullable [] includePatterns, HandlerInterceptor interceptor) 方法の概要
修飾子と型メソッド説明voidafterCompletion(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler, @Nullable ExceptionSE ex) リクエスト処理の完了後、つまりビューのレンダリング後のコールバック。このインターセプタがマッピングされている除外パスパターンを取得します。このインターセプタがマッピングされているインクルードパスパターンを取得します。一致した場合に呼び出すターゲットHandlerInterceptor。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PathMatcherおよびUrlPathHelperの使用は、Web モジュールでの実行時の使用では非推奨となり、代わりにPathPatternParserによる解析パターンが推奨されます。booleanmatches(jakarta.servlet.http.HttpServletRequest request) このインターセプターがリクエストにマップされているかどうかを確認します。voidpostHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler, @Nullable ModelAndView modelAndView) ハンドラーの実行が成功した後のインターセプトポイント。booleanpreHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。voidsetPathMatcher(PathMatcher pathMatcher) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PathMatcherおよびUrlPathHelperの使用は、Web モジュールでの実行時の使用では非推奨となり、代わりにPathPatternParserによる解析パターンが推奨されます。
コンストラクターの詳細
MappedInterceptor
public MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HttpMethod @Nullable [] includeHttpMethods, HttpMethod @Nullable [] excludeHttpMethods, HandlerInterceptor interceptor, @Nullable PathPatternParser parser) 指定された包含パターンと除外パターンおよび HTTP メソッドを使用してインスタンスを作成します。- パラメーター:
includePatterns- 一致するパターン、またはすべてのパスに一致する場合は nullexcludePatterns- リクエストが一致してはならないパターンincludeHttpMethods- 一致する HTTP メソッド、またはすべてのメソッドの場合は nullexcludeHttpMethods- リクエストが一致してはならない HTTP メソッドinterceptor- ターゲットインターセプターparser- パターンをPathPatternに事前解析するために使用するパーサー。提供されていない場合、PathPatternParser.defaultInstanceが使用されます。- 導入:
- 7.0
MappedInterceptor
@DeprecatedSE(since="7.0", forRemoval=true) public MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HandlerInterceptor interceptor, @Nullable PathPatternParser parser) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。HTTP メソッドのコンストラクターバリアントを優先するHTTP メソッドを使用しないMappedInterceptor(String[], String[], HttpMethod[], HttpMethod[], HandlerInterceptor, PathPatternParser)のバリエーション。- 導入:
- 5.3
MappedInterceptor
MappedInterceptor
public MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, HandlerInterceptor interceptor) MappedInterceptor
MappedInterceptor
public MappedInterceptor(StringSE @Nullable [] includePatterns, StringSE @Nullable [] excludePatterns, WebRequestInterceptor interceptor)
メソッドの詳細
getIncludePathPatterns
getExcludePathPatterns
getInterceptor
一致した場合に呼び出すターゲットHandlerInterceptor。setPathMatcher
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PathMatcherおよびUrlPathHelperの使用は、Web モジュールでの実行時の使用では非推奨となり、代わりにPathPatternParserによる解析パターンが推奨されます。URL パスを包含および除外パターンと照合するために使用するように PathMatcher を構成します。これは、カスタマイズされた
AntPathMatcherまたはカスタム PathMatcher が必要な場合にのみ使用する必要がある高度なプロパティです。デフォルトでは、これは
AntPathMatcherです。注 :
PathMatcherを設定すると、解析されたRequestPathが使用可能な場合でも、文字列パターンマッチングの使用が強制されます。getPathMatcher
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。PathMatcherおよびUrlPathHelperの使用は、Web モジュールでの実行時の使用では非推奨となり、代わりにPathPatternParserによる解析パターンが推奨されます。構成された PathMatcher を取得します。matches
public boolean matches(jakarta.servlet.http.HttpServletRequest request) このインターセプターがリクエストにマップされているかどうかを確認します。リクエストマッピングパスは、外部で解決されている必要があります。クラスレベルの Javadoc も参照してください。
- パラメーター:
request- 一致するリクエスト- 戻り値:
- インターセプターをリクエストに適用する必要がある場合は
true
preHandle
public boolean preHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptorハンドラーの実行前のインターセプトポイント。HandlerMapping が適切なハンドラーオブジェクトを決定した後、HandlerAdapter がハンドラーを呼び出す前に呼び出されます。DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptorを参照してください。デフォルトの実装は
trueを返します。- 次で指定:
- インターフェース
HandlerInterceptorのpreHandle - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー- 戻り値:
- 実行チェーンが次のインターセプターまたはハンドラー自体を続行する必要がある場合は、
true。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。 - 例外:
ExceptionSE- エラーの場合
postHandle
public void postHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler, @Nullable ModelAndView modelAndView) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptorハンドラーの実行が成功した後のインターセプトポイント。HandlerAdapter が実際にハンドラーを呼び出した後、DispatcherServlet がビューをレンダリングする前に呼び出されます。指定された ModelAndView を介して、追加のモデルオブジェクトをビューに公開できます。DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンのハンドラーを処理します。ハンドラー自体は最後にあります。このメソッドを使用すると、各インターセプターは実行を後処理でき、実行チェーンの逆順で適用されます。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptorを参照してください。デフォルトの実装は空です。
- 次で指定:
- インターフェース
HandlerInterceptorのpostHandle - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod)modelAndView- ハンドラーが返したModelAndView(nullにすることもできます)- 例外:
ExceptionSE- エラーの場合
afterCompletion
public void afterCompletion(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler, @Nullable ExceptionSE ex) throws ExceptionSE インターフェースからコピーされた説明:HandlerInterceptorリクエスト処理の完了後、つまりビューのレンダリング後のコールバック。ハンドラー実行の結果で呼び出されるため、適切なリソースのクリーンアップが可能になります。メモ: このインターセプターの
preHandleメソッドが正常に完了し、trueを返した場合にのみ呼び出されます!postHandleメソッドと同様に、このメソッドはチェーンの各インターセプターで逆の順序で呼び出されるため、最初のインターセプターが最後に呼び出されます。注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、
AsyncHandlerInterceptorを参照してください。デフォルトの実装は空です。
- 次で指定:
- インターフェース
HandlerInterceptorのafterCompletion - パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 型やインスタンスの検査のために、非同期実行を開始したハンドラー(またはHandlerMethod)ex- ハンドラーの実行時にスローされる例外(ある場合)。これには、例外リゾルバーを介して処理された例外は含まれません- 例外:
ExceptionSE- エラーの場合