类 PatternsRequestCondition
- java.lang.Object
- org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<PatternsRequestCondition>
- org.springframework.web.servlet.mvc.condition.PatternsRequestCondition
- 所有已实现的接口:
RequestCondition<PatternsRequestCondition>
public final class PatternsRequestCondition extends AbstractRequestCondition<PatternsRequestCondition>
A logical disjunction (' || ') request condition that matches a request against a set of URL path patterns.- 从以下版本开始:
- 3.1
- 作者:
- Rossen Stoyanchev
构造器概要
构造器 构造器 说明 PatternsRequestCondition(String... patterns)
Creates a new instance with the given URL patterns.PatternsRequestCondition(String[] patterns, UrlPathHelper urlPathHelper, PathMatcher pathMatcher, boolean useSuffixPatternMatch, boolean useTrailingSlashMatch)
Additional constructor with flags for using suffix pattern (.*) and trailing slash matches.PatternsRequestCondition(String[] patterns, UrlPathHelper urlPathHelper, PathMatcher pathMatcher, boolean useSuffixPatternMatch, boolean useTrailingSlashMatch, List<String> fileExtensions)
Creates a new instance with the given URL patterns.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 PatternsRequestCondition
combine(PatternsRequestCondition other)
Returns a new instance with URL patterns from the current instance ("this") and the "other" instance as follows: If there are patterns in both instances, combine the patterns in "this" with the patterns in "other" usingPathMatcher.combine(String, String)
.int
compareTo(PatternsRequestCondition other, HttpServletRequest request)
Compare the two conditions based on the URL patterns they contain.protected Collection<String>
getContent()
Return the discrete items a request condition is composed of.PatternsRequestCondition
getMatchingCondition(HttpServletRequest request)
Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted viaPathMatcher.getPatternComparator(String)
.List<String>
getMatchingPatterns(String lookupPath)
Find the patterns matching the given lookup path.Set<String>
getPatterns()
protected String
getToStringInfix()
The notation to use when printing discrete items of content.从类继承的方法 org.springframework.web.servlet.mvc.condition.AbstractRequestCondition
equals, hashCode, isEmpty, toString
构造器详细资料
PatternsRequestCondition
public PatternsRequestCondition(String... patterns)
Creates a new instance with the given URL patterns. Each pattern that is not empty and does not start with "/" is prepended with "/".- 参数:
patterns
- 0 or more URL patterns; if 0 the condition will match to every request.
PatternsRequestCondition
public PatternsRequestCondition(String[] patterns, UrlPathHelper urlPathHelper, PathMatcher pathMatcher, boolean useSuffixPatternMatch, boolean useTrailingSlashMatch)
Additional constructor with flags for using suffix pattern (.*) and trailing slash matches.- 参数:
patterns
- the URL patterns to use; if 0, the condition will match to every request.urlPathHelper
- for determining the lookup path of a requestpathMatcher
- for path matching with patternsuseSuffixPatternMatch
- whether to enable matching by suffix (".*")useTrailingSlashMatch
- whether to match irrespective of a trailing slash
PatternsRequestCondition
public PatternsRequestCondition(String[] patterns, UrlPathHelper urlPathHelper, PathMatcher pathMatcher, boolean useSuffixPatternMatch, boolean useTrailingSlashMatch, List<String> fileExtensions)
Creates a new instance with the given URL patterns. Each pattern that is not empty and does not start with "/" is pre-pended with "/".- 参数:
patterns
- the URL patterns to use; if 0, the condition will match to every request.urlPathHelper
- aUrlPathHelper
for determining the lookup path for a requestpathMatcher
- aPathMatcher
for pattern path matchinguseSuffixPatternMatch
- whether to enable matching by suffix (".*")useTrailingSlashMatch
- whether to match irrespective of a trailing slashfileExtensions
- a list of file extensions to consider for path matching
方法详细资料
getPatterns
public Set<String> getPatterns()
getContent
protected Collection<String> getContent()
从类复制的说明:AbstractRequestCondition
Return the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc.
- 指定者:
getContent
在类中AbstractRequestCondition<PatternsRequestCondition>
- 返回:
- a collection of objects (never
null
)
getToStringInfix
protected String getToStringInfix()
从类复制的说明:AbstractRequestCondition
The notation to use when printing discrete items of content.For example
" || "
for URL patterns or" && "
for param expressions.
combine
public PatternsRequestCondition combine(PatternsRequestCondition other)
Returns a new instance with URL patterns from the current instance ("this") and the "other" instance as follows:- If there are patterns in both instances, combine the patterns in "this" with the patterns in "other" using
PathMatcher.combine(String, String)
. - If only one instance has patterns, use them.
- If neither instance has patterns, use an empty String (i.e. "").
- 参数:
other
- the condition to combine with.- 返回:
- a request condition instance that is the result of combining the two condition instances.
- If there are patterns in both instances, combine the patterns in "this" with the patterns in "other" using
getMatchingCondition
public PatternsRequestCondition getMatchingCondition(HttpServletRequest request)
Checks if any of the patterns match the given request and returns an instance that is guaranteed to contain matching patterns, sorted viaPathMatcher.getPatternComparator(String)
.A matching pattern is obtained by making checks in the following order:
- Direct match
- Pattern match with ".*" appended if the pattern doesn't already contain a "."
- Pattern match
- Pattern match with "/" appended if the pattern doesn't already end in "/"
- 参数:
request
- the current request- 返回:
- the same instance if the condition contains no patterns; or a new condition with sorted matching patterns; or
null
if no patterns match.
getMatchingPatterns
public List<String> getMatchingPatterns(String lookupPath)
Find the patterns matching the given lookup path. Invoking this method should yield results equivalent to those of callinggetMatchingCondition(javax.servlet.http.HttpServletRequest)
. This method is provided as an alternative to be used if no request is available (e.g. introspection, tooling, etc).- 参数:
lookupPath
- the lookup path to match to existing patterns- 返回:
- a collection of matching patterns sorted with the closest match at the top
compareTo
public int compareTo(PatternsRequestCondition other, HttpServletRequest request)
Compare the two conditions based on the URL patterns they contain. Patterns are compared one at a time, from top to bottom viaPathMatcher.getPatternComparator(String)
. If all compared patterns match equally, but one instance has more patterns, it is considered a closer match.It is assumed that both instances have been obtained via
getMatchingCondition(HttpServletRequest)
to ensure they contain only patterns that match the request and are sorted with the best matches on top.