在项目没有使用spring Security、shiro等鉴权框架时,实现url鉴权方式是将所有的接口url和菜单id关系存到一张menu_url关系表中。
这样做等值匹配没有问题,如查询学生列表接口 /student/list;但查询单条学生信息时,接口采用了@PathVariable注解,接口地址为 /student/{studentId};这在存关系表时,就遇到了问题,表中肯定不能穷举所有的学生id,要用通配符*来代替。这样的话就不能等值匹配了,在这里我们用spring提供的AntPathMatcher来做:
结果:
非常简洁,关于AntPathMatcher还有一些别的用法,这里就不细说了,可以参考: