Restful Collections - 如何删除或删除项目

Cle*_*ner 5 rest

我读了很多关于 RESTful API 设计的东西。但到了实施的时候,事情就不再那么容易了。我陷入了以下问题:

假设有以下2个端点:

  1. /api/v1/users/:id
  2. /api/v1/users/1/friends/:id

众所周知,好友是资源用户的集合。用户的朋友列表中可以有 n 个朋友(按照标准,这将是多对多,但现在,我们假设这是一对多)。好的,现在我想通过执行以下 HTTP 请求从用户 1 的好友列表中删除用户 ( id=3 ):

删除 api/v1/users/1/friends/3

这就是我陷入困境的地方 - 请求要么删除id = 3 的整个用户资源,要么从集合中删除资源。因为我认为两者都是有效的 Restful 实现。

所以问题是: 如何从集合中删除项目而不删除原始资源

我希望这个问题不重复 - 但我做了很多谷歌来找到答案。也许我不知道相关的技术术语来找到一些令人满意的结果......

谢谢转发。