我想使用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}前缀可能导致此冲突。当然,我想保持这些路径不变。
谢谢
最佳答案
这是一个错误,同时已在4.1-RC2版本中修复,请参阅此JIRA SPR-10576以获得更多详细信息。
因此,似乎要在当前版本中进行修复,唯一的方法是更改URL路径或手动应用补丁。