java - 具有相同 url 的 Spring Rest 端点
问题描述
使用 Spring Rest 我有两个控制器方法休息端点具有以下 url:
@PutMapping("/book/delete")
@PutMapping("/book/{action}")
我的问题是如果客户端在第二次调用中发送 {action} "delete" 的值会发生什么?我调用了哪些 spring mvc 方法?我试过了,Spring 成功地将它与第二个 url 匹配(使用 swagger ui 时)
但我不相信这怎么会发生,因为从 Servlet 容器的角度来看,它们是相等的资源路径。spring 如何知道我要访问的位置?一些答案声称 Spring 选择具有较少通配符的更具体的 url。但是找不到官方文档。
解决方案
推荐阅读
- algorithm - 检查多米诺骨牌金字塔的有效性
- python - 如何在包含冒号的单词之前插入换行符
- c# - 为什么我在 Main 方法中创建方法时不能使用修饰符?
- javascript - 如何使用 Babylon.js 的外部颜色选择器更改颜色?
- macos - 内部编译器错误:在 MAC OS Sierra 上被终止(程序 cc1plus)
- javascript - 在加载之前设置 HTML 标签属性
- amazon-web-services - 是否可以使用任何 IDE(例如 PYCHARM)在 AWS 实例中进行 SSH?
- python - 可以获得 Python 的 StringIO 的文件描述符吗?
- spring - 如何从 Spring MVC 控制器访问 JSP 中请求范围内的变量?
- python - 在 MySQL 上部署的 Django 出现 #1071 错误“指定的密钥太长”