"^/employee/\\d+$"
因此,我们需要深入源码,去查查看SpringMVC做URI匹配的代码,其实现的逻辑是什么。在层层深入后,我们定位到了PathMatcher.class文件,然后在查询了相关的PathMatcher文档后,我们对其内含方法有了了解:
public interface PathMatcher {// 判断path是否是一个模式字符串(一般含有指定风格的特殊通配符就算是模式了)boolean isPattern(String var1);// 采用Ant风格的路径匹配boolean match(String var1, String var2);// 判断path是否和模式pattern前缀匹配(前缀匹配:path的前缀匹配上patter了即可,当然全部匹配也是可以的)boolean matchStart(String var1, String var2);// 返回和pattern模式真正匹配上的那部分字符串String extractPathWithinPattern(String var1, String var2);// 提取path中模板变量Map extractUriTemplateVariables(String var1, String var2);// 路径比较器,用于排序确定优先级高低Comparator getPatternComparator(String var1);// 合并两个pattern模式,组合算法由具体实现自由决定String combine(String var1, String var2);
}
match采用Ant风格,根据查询到的资料,Ant风格包括四个部分:
至此,我们对于疑难点的疑问得到解答:
因此,常规的正则表达式"^/employee/\\d+$"
改为"/employee/{id:\\d+}"
即可满足限定要求
上一篇:项目讲解说明
下一篇:数据结构--8.排序