SpringBoot调用流程源码(九)AntPatternComparator的路由优先级

优先级的规则

spring的路由

在spring中,我们经常在requestMapping中配置各种路由如:
/a/b/c/d
/a/b/c/{d}
/a/b/*/d
/a/b/**
等等,而有时候会遇到匹配到两个路由的情况,这个时候就是由Spring的AntPatternComparator做了优先级处理。

优先级的规则

而优先级是有规则的,虽然我们一眼就看出那个配置的匹配路由的优先级更高,但是,总结一下规则,可以让我们更好的掌握它
以路由/a/b/c为例,下面是其优先级排序

路由配置优先级
全路径匹配,例如:配置路由/a/b/c第一优先级
带有{}路径的匹配,例如:/a/{b}/c第二优先级
正则匹配,例如:/a/{regex:\d{3}}/c第三优先级
带有‘*’路径的匹配,例如:/a/b/*第四优先级
带有‘**’路径的匹配,例如:/a/b/**第五优先级
当什么路径都匹配不到的最低优先级:/**最低优先级

注意
1.当有多个‘’和多个‘{}'时,命中单个路径多的,优先匹配到,例如:/a/b/{c}优先级高于/a//。/a/b/优先级高于/a/{b}/{c}
2、多个‘
’的优先级高于‘**’,会优先匹配带有多个‘

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值