我正在构建一个简单的REST,它有用户和社区。
User实体与Community有着多到多的关系。
用户可以拥有多个社区的成员资格,社区可以有多个用户。
用于创建用户并将其分配给特定社区的端点如下:
POST /communities/5/users当我想删除一个用户并将其与特定的社区分离时,我使用以下方法:
DELETE /communities/5/users/8问题是,如何设计将用户加入社区并以适当方式离开社区的端点(而不删除用户)?
发布于 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以外的其他属性,这可能会很有趣。
发布于 2018-06-24 00:56:48
问题是,如何设计将用户加入社区并以适当方式离开社区的端点(而不删除用户)?
你怎么用一个网站来做这件事呢?
例如:您可能决定用户可以选择自己的组成员资格。因此,您将给用户一个描述他们所属组的网页。也许该页面包含一组复选框的表单,用户可以取消选中他们不想属于的组的框,然后提交表单。
对于REST API..。做同样的事。
https://stackoverflow.com/questions/51005307
复制相似问题