首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在REST中,将许多项与许多关系关联/分离条目的正确方法是什么?

在REST中,将许多项与许多关系关联/分离条目的正确方法是什么?
EN

Stack Overflow用户
提问于 2018-06-23 21:47:02
回答 2查看 35关注 0票数 1

我正在构建一个简单的REST,它有用户和社区。

User实体与Community有着多到多的关系。

用户可以拥有多个社区的成员资格,社区可以有多个用户。

用于创建用户并将其分配给特定社区的端点如下:

代码语言:javascript
复制
POST /communities/5/users

当我想删除一个用户并将其与特定的社区分离时,我使用以下方法:

代码语言:javascript
复制
DELETE /communities/5/users/8

问题是,如何设计将用户加入社区并以适当方式离开社区的端点(而不删除用户)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-23 23:26:18

由于用户可以是许多社区的一部分,也可以是一个社区的一部分,因此将用户视为独立于社区的资源是有意义的。通过POST /users创建它们,并通过DELETE /users/:id将它们从系统中删除。

社区也一样。通过POST /communities创建它们,通过DELETE /communities/:id删除它们。

现在可以通过POST /communities/:id/users将用户添加到社区,其中有效负载包含要添加的用户的id。您可以通过DELETE communities/:id/users/:userid将用户从社区中删除。

每个社区实体都可以有一个链接到URL以获取其用户(/communities/:id/users),也可以将用户包含在实体本身中。

或者,您可以拥有一个membership资源来链接社区及其用户。如果成员本身有社区id和用户id以外的其他属性,这可能会很有趣。

票数 1
EN

Stack Overflow用户

发布于 2018-06-24 00:56:48

问题是,如何设计将用户加入社区并以适当方式离开社区的端点(而不删除用户)?

你怎么用一个网站来做这件事呢?

例如:您可能决定用户可以选择自己的组成员资格。因此,您将给用户一个描述他们所属组的网页。也许该页面包含一组复选框的表单,用户可以取消选中他们不想属于的组的框,然后提交表单。

对于REST API..。做同样的事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51005307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档