我想使用 Spring 定义 REST API。我有这 2 个 @Controller 方法:
@RequestMapping(value = "/{machineId}/workspaces/{workspaceId}", method = RequestMethod.DELETE)
public void removeWorkspace(@PathVariable String machineId, @PathVariable String workspaceId {...}
@RequestMapping(value = "/{machineId}", method = RequestMethod.DELETE)
public void removeVM(@PathVariable String machineId) {...}
问题是,这个定义导致路径冲突:如果我尝试调用
curl -X DELETE http://localhost/machine-1/workspaces/workspace-1
我期望应该调用“removeWorkspace”,但问题是调用“removeVM”。有人知道如何避免这种冲突吗? {machineId} 前缀可能会导致此冲突。当然,我想保持这些路径不变。
Thanks
这是一个错误,同时在 4.1-RC2 版本中修复,请参阅此 JIRASPR-10576 https://jira.spring.io/browse/SPR-10576了解更多详情。
因此,在当前版本中修复此问题的唯一方法似乎是更改 URL 路径,或手动应用补丁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)