请教一个 Spring 的 RequestMapping 的问题

2021-04-25 11:38:16 +08:00
 yesterdaysun

我把网站从 Spring3 升到 Spring5 了, 大体上都 OK, 就是有个小坑, 之前 dispatcher 的 url-partten 设的是*.do, 然后 Controller 里面写 RequestMapping 大概是这样的:

@RequestMapping(value = "/task/getDetail") 或者: @RequestMapping(value = "/task/getDetail.do")

实际上无论后面加不加那个.do, 都能访问到, 都可以匹配上自动处理, 所以代码里两种都有写, 但是到 Spring5, 前面那个写法突然就不行了, 必须要后面严格加上.do 才能匹配.

有哪位大神知道是哪里的设置在控制这个行为吗? 还是必须只能全部明确改成加.do 才行了? 谢谢!

1832 次点击
所在节点    Java
4 条回复
shanghai1943
2021-04-25 12:15:45 +08:00
shanghai1943
2021-04-25 12:27:43 +08:00
其实就是在配置文件里加上 spring.mvc.pathmatch.use-suffix-pattern=true 就行了。。这样你的 controller 里的方法本来支持 /task/getDetail 访问的,加上配置后就可以支持任意后缀访问了 /task/getDetail.xxxx
yesterdaysun
2021-04-25 15:20:36 +08:00
gaius
2021-04-26 10:35:57 +08:00
3-5 跨度不小哇

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

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

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

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

© 2021 V2EX