如何通过 REST 调用将资源 A 映射到资源 B?

How to map resource A to resource B via REST call?

我有 2 个 Many-To-Many 相关的资源。 一个资源是 users,另一个是 rolesuser 可以分配不同的 roles,而 role 可以分配不同的 users

Many-To-Many 关系允许我使用以下资源路径:

现在假设我想将 ID 为 2 的角色分配给 ID 为 1 的用户。

我有两种不同的想法:

两者对我来说似乎都不正确...

这是如何以易于理解的符合 REST 的方式完成的?

我将使用 PUT 动词,因为您正在更新分配给您的用户的角色。 但我更喜欢使用请求正文来指定我想分配给该用户的完整角色列表。

PUT /users/1/roles (list of assigned Role objects as request body)

POST动词,如你所说,一般用于创建新对象。

此外,还有一些我认为有用的同事建议:RESTful APIs from Scratch: Lessons Learnt (so far)