クラス PathPattern
java.lang.ObjectSE
org.springframework.web.util.pattern.PathPattern
- 実装されているすべてのインターフェース:
- ComparableSE<PathPattern>
 解析されたパスパターンの表現。高速マッチングのためのパス要素のチェーンが含まれ、パターンの迅速な比較のために計算された状態を蓄積します。
PathPattern は、次のルールを使用して URL パスを照合します。
- ?は 1 文字に一致します
- *は、パスセグメント内の 0 個以上の文字に一致します
- **は、パスの終わりまでゼロ個以上のパスセグメントと一致します
- {spring}はパスセグメントと一致し、"spring" という名前の変数としてキャプチャーします
- {spring:[a-z]+}は正規表現- [a-z]+をパスセグメントと照合し、それを "spring" という名前のパス変数としてキャプチャーします。
- {*spring}は、パスの終わりまでゼロ個以上のパスセグメントと一致し、"spring" という名前の変数としてキャプチャーします
 注意 : AntPathMatcher とは対照的に、** はパターンの最後でのみサポートされます。たとえば、/pages/{**} は有効ですが、/pages/{**}/details は無効です。同じことがキャプチャーバリアント {*spring} にも当てはまります。目的は、特異性についてパターンを比較する際のあいまいさを排除することです。
サンプル
- /pages/t?st.html—- /pages/test.htmlおよび- /pages/tXst.htmlと一致しますが、- /pages/toast.htmlとは一致しません
- /resources/*.png—- resourcesディレクトリ内のすべての- .pngファイルに一致します
- /resources/**—- /resources/image.pngおよび- /resources/css/spring.cssを含む、- /resources/パスにあるすべてのファイルに一致します
- /resources/{*path}—- /resources/および- /resourcesにあるすべてのファイルに一致し、それらの相対パスを "path" という名前の変数にキャプチャーします。- /resources/image.pngは "path" → "/image.png" と一致し、- /resources/css/spring.cssは "path" → "/css/spring.css" と一致します。
- /resources/{filename:\\w+}.datは- /resources/spring.datと一致し、値- "spring"を- filename変数に割り当てます
- 導入:
- 5.0
- 作成者:
- Andy Clement, Rossen Stoyanchev
- 関連事項:
- ネストされたクラスの要約ネストされたクラス修飾子と型クラス説明- static class指定された一致パスのパターンに基づいて抽出された URI 変数およびパスパラメーター(マトリックス変数)のホルダー。- static classパターンの開始での一致の結果のホルダー。
- フィールドのサマリーフィールド
- メソッドのサマリー修飾子と型メソッド説明- combine- (PathPattern pattern2string) このパターンを別のパターンと組み合わせます。- int- compareTo- (PathPattern otherPattern) このパターンを提供されたパターンと比較します。このパターンがより具体的である場合、-1、0、+ 1 を返します。これは、提供されたパターンと同じか、より具体的ではありません。- boolean指定されたパスのパターンマッピングされた部分を決定します。この PathPattern を作成するために解析された元の文字列を返します。- int- hashCode()- booleanパターン文字列に- matches(PathContainer)の使用を必要とするパターン構文が含まれているか、他の文字列と直接比較できる通常の文字列であるか。- matchAndExtract- (PathContainer pathContainer) このパターンを指定された URI パスに一致させ、抽出された URI テンプレート変数とパスパラメーター(マトリックス変数)を返します。- boolean- matches- (PathContainer pathContainer) このパターンが指定されたパスに一致するかどうか。- matchStartOfPath- (PathContainer pathContainer) 指定されたパスの先頭に一致し、このパターンでカバーされていない残りの部分を返します。- toString()
- フィールドの詳細- SPECIFICITY_COMPARATORパターンを次のように特異性でソートするコンパレーター:- NULL インスタンスは最後です。
- キャッチオールパターンは最後です。
- 両方のパターンがキャッチオールである場合、長さを考慮します(長い方が勝ち)。
- ワイルドカードとキャプチャーされた変数の数を比較します(小さい方が勝ち)。
- 長さを考慮する (より長い勝ち)
 
 
- メソッドの詳細- getPatternStringこの PathPattern を作成するために解析された元の文字列を返します。
- hasPatternSyntaxpublic boolean hasPatternSyntax()パターン文字列に- matches(PathContainer)の使用を必要とするパターン構文が含まれているか、他の文字列と直接比較できる通常の文字列であるか。- 導入:
- 5.2
 
- matchesこのパターンが指定されたパスに一致するかどうか。- パラメーター:
- pathContainer- 照合を試みる候補パス
- 戻り値:
-  パスがこのパターンに一致する場合は true
 
- matchAndExtractこのパターンを指定された URI パスに一致させ、抽出された URI テンプレート変数とパスパラメーター(マトリックス変数)を返します。- パラメーター:
- pathContainer- 照合を試みる候補パス
- 戻り値:
-  抽出された変数を持つ情報オブジェクト、または一致しない場合は null
 
- matchStartOfPath指定されたパスの先頭に一致し、このパターンでカバーされていない残りの部分を返します。これは、各レベルでパスが段階的に一致するネストされたルートを一致させるのに役立ちます。- パラメーター:
- pathContainer- 照合を試みる候補パス
- 戻り値:
-  一致結果を持つ情報オブジェクト、または一致しない場合は null
 
- extractPathWithinPattern指定されたパスのパターンマッピングされた部分を決定します。- 例: - '/docs/cvs/commit.html' および '/docs/cvs/commit.html→ ''
- '/docs/*' および '/docs/cvs/commit'→ 'cvs/commit'
- '/docs/cvs/*.html' および '/docs/cvs/commit.html→ 'commit.html'
- '/docs/**' および '/docs/cvs/commit→ 'cvs/commit'
 - 注: - matches(org.springframework.http.server.PathContainer)が同じパスに対して- trueを返すと仮定しますが、これを強制しません。
- 返された結果内の重複するセパレータの出現は削除されます
- 返される結果から先頭と末尾のセパレータが削除されます
 - パラメーター:
- path- このパターンに一致するパス
- 戻り値:
- パターンと一致するパスのサブセット、またはパターン要素と一致するパスがない場合は ""
 
- '
- compareToこのパターンを提供されたパターンと比較します。このパターンがより具体的である場合、-1、0、+ 1 を返します。これは、提供されたパターンと同じか、より具体的ではありません。目的は、より具体的なパターンを最初にソートすることです。- 次で指定:
-  インターフェース ComparableSE<PathPattern>のcompareToSE
 
- combineこのパターンを別のパターンと組み合わせます。
- equals
- hashCodepublic int hashCode()
- toString