AntPathMatcher是org.springframework.util工具包下的方法。
-
/**
-
* A convenient, alternative constructor to use with a custom path separator.
-
* @param pathSeparator the path separator to use, must not be {@code null}.
-
* @since 4.1
-
*/
-
public AntPathMatcher(String pathSeparator) {
-
Assert.notNull(pathSeparator,
"'pathSeparator' is required");
-
this.pathSeparator = pathSeparator;
-
this.pathSeparatorPatternCache =
new PathSeparatorPatternCache(pathSeparator);
-
}
-
public boolean hasUrl(String url) {
-
if (url ==
null ||
"".equals(url)) {
-
return
false;
-
}
-
-
AntPathMatcher antPathMatcher =
new AntPathMatcher();
-
// 可根据需求做动态匹配
-
String pattern =
"/app/*.html"
-
if (antPathMatcher.match(pattern, url)) {
-
// 根据入参url和pattern匹配上返回ture,否则false.
-
return
true;
-
}
-
return
false;
-
}
以下是模糊匹配规则,也就是在响应的路径上添加* 或则 ** 对路径进行替代即可。
URL路径 | 说明 |
/app/*.x | 匹配(Matches)所有在app路径下的.x文件 |
/app/p?ttern | 匹配(Matches) /app/pattern 和 /app/pXttern,但是不包括/app/pttern |
/**/example | 匹配(Matches) /app/example, /app/foo/example, 和 /example |
/app/**/dir/file. | 匹配(Matches) /app/dir/file.jsp, /app/foo/dir/file.html,/app/foo/bar/dir/file.pdf, 和 /app/dir/file.java |
/**/*.jsp | 匹配(Matches)任何的.jsp 文件 |