在REST中的实体之间移除或创建'有'关系

问题描述:

我有一个目标池实体,可以有许多目标实体。如何获得REST URL请求以将目标添加到目标池或从目标池中删除目标。在REST中的实体之间移除或创建'有'关系

现在我使用

/destinationpool/{destinationpool名} /添加/ {目的地名称}到目的地添加到目标池

/destinationpool/{destinationpool-名} /删除/ {目的地名称}从目的地池中删除 目的地

无论是PUT请求

如果您想要真正成为RESTful,您的CRUD操作应该由您的http动词指示,而不是您的url。我倾向于将我的输入作为url参数的一部分,以便模拟标准函数调用,其中包含函数定义和参数。

创建(post vs put

[POST] 
/destinationpool/{destinationpool-name}/destinations 
(url).../destinationpool/{destinationpool-name}/destinations?destination-name=<name> 

删除

[DELETE] 
/destinationpool/{destinationpool-name}/destinations 
(url)..../destinationpool/{destinationpool-name}/destinations?destination-name=<name> 

当你看完上面的,很显然,你把东西放到目标池的目的地关系(或删除的东西从)。

作为一个附注 - 名称由于唯一性,拼写,大小写等危险.IDs要好得多。

+0

为了更清楚一点,我们并没有在目标池中添加或删除目标,我们只是添加和删除它们之间的关联。目的地不受限于目的地池。目标可以被添加到多个目标池。请让我知道,如果上述仍然有道理? – user2192634