我正在使用球衣版本 1.17.1 + tomcat 7.0.39 + Spring MVC 3.2.1。
问题是当我扩展 GET 处理程序的 @Path 时,我无法弄清楚为什么我的 PUT 处理程序停止工作?
我的 Spring MVC 控制器中的以下配置/匹配按预期工作:
@GET
@Path("/{id}") // <--- WORKS!
[...]
@PUT
@Path("/{id}") // <--- WORKS!
[...]
但是每当我扩展 GET处理程序的匹配以便不仅能够处理
/anyId
请求,但也请求表格
/anyId/
/anyId/anyfile.ext
然后没有触及PUT 匹配停止工作:
@GET
@Path("/{id:.*[^/]}{fileName:.*}") // <--- WORKS!
[...]
@PUT
@Path("/{id}") // <--- Not working any longer:
// "405 Method Not Allowed"
[...]
将 GET 路径的匹配更改为上述 PUT 请求的匹配后,将获得“405 Method Not Allowed”状态代码。
当我像第一种情况一样简化 GET 路径时,PUT 处理程序再次开始工作。
是泽西岛的虫子还是什么?