Springboot 拦截器路径匹配问题请教

2020-09-30 14:57:35 +08:00
 NULL2020

有这样的接口路径:

GET  /user/123
GET  /user/**

拦截器在设置 excludePathPatterns 时,有没有办法匹配以数字结尾的路径?

再进一步,假如有接口路径

GET    /user/123
POST  /user/123

有没有办法只设置 GET /user/123 放行,而 POST /user/123 被拦截?

1928 次点击
所在节点    Java
6 条回复
NULL2020
2020-09-30 15:19:44 +08:00
问题一找到办法了
PathPatterns 设置为:/user/{^\d+$}

问题二应该是没法了,还是得用代码
huifer
2020-09-30 15:22:11 +08:00
httprequest 获取请求方式, 获取路由地址, 正则过滤字符串.
THESDZ
2020-09-30 15:24:58 +08:00
问题 2 不是设置 @GetMapping,@PostMapping,拆成两个接口?
NULL2020
2020-09-30 15:29:30 +08:00
@THESDZ #3 是两个接口的,就是要放行 GET,拦截 POST,简单配置应该是不行的了
THESDZ
2020-09-30 15:40:12 +08:00
@NULL2020 #4 自定义拦截器,拓展 PathPatterns 中的功能
zhady009
2020-09-30 16:23:26 +08:00
第一个可以用配置解决 第二个拦截器里写代码 HandlerMethod 可以知道是不是 GetMapping 或者 PostMapping 就行了 如果是 RequestMapping 就获取下 method 里面的值判断下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/711894

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX