PUT / PATCH 和权限的 REST 最佳实践是什么?

What is the REST best practice with PUT / PATCH and permissions?

我正在研究 REST API,但找不到对我的问题的任何答复。这是我的问题:

在我的应用程序中,我有多个用户角色 "Admin" 和 "User"。两者都可以 PUT / PATCH 实体 "Agency",但它们不能修改相同的字段:

所以我和我的同事不知道如何在两个选项之间做出选择:

非常感谢您的回复,请原谅我的英语!

第二个选项是 REST 方式。 URI 不应指示调用它所需的 permissions/authorisation。如果您想指示允许的 API 调用,那么正确的机制是 HATEOAS,这是 REST 的基本原则。

我不确定我是否理解你关于它在未来会变得复杂的论点。我认为第一个选项为增加复杂性提供了更多机会。如果未来出现新角色怎么办?如果权限变得更细化怎么办?在第一个选项中,您的 URI 将更改。