表示以RESTful方式对关联执行操作的最佳方式?

时间:2011-07-19 00:52:20

标签: rest restful-architecture

假设我有一个“用户”资源和一个“组”资源。它们的RESTful表示看起来像;

/user/:id
/group/:id

但是如果我想对两个资源之间的关联执行操作呢?例如,如果我想指定用户#1想要加入组#1。我如何表示组#1的#join应该在用户#1上执行?

2 个答案:

答案 0 :(得分:1)

  

例如,如果我想指定用户#1想要加入组#1。我如何表示组#1的#join应该在用户#1上执行?

我可能会对/ groups / 1 / members或/ users / 1 / membership进行POST。如果您想允许用户一次加入多个组,那么为/ users / 1 / membership提供像PUT这样的替代方案可能是有意义的。

您有许多选择,但它取决于您想要实现的工作流程。我认为暂时忘记REST会有所帮助。考虑构建一个简单的浏览器应用程序链接和表格在哪里? Web应用程序中的每个页面都是资源的HTML表示形式。它有链接和表格。将其替换为替代表示,但保留链接和表单。

一旦你完成了这样的设计练习,你就可以更好地决定对/ groups / 1 /成员的POST是否有意义。

约翰

答案 1 :(得分:0)

嗯.. / group /:id包含什么?

我认为它会在某个地方包含一组用户?

/ group /:id / users /:id - 表示我对该组的成员资格。

迈克·布朗