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