我希望使用Spring定义REST API。 我有以下两个@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}"前缀可能是导致冲突的原因。当然我希望保持这些路径不变。
谢谢。