我正在与具有不同权限的使用者一起设计REST API。我知道资源的表示形式不应根据用户而改变。因此,我试图确定哪种方法是最好的:
GET-列出所有文档的集合-仅限管理员。:
/ api / documents
GET-所有文档的列表集合-有权访问文档123的任何用户
/ api / documents / 123
因此,对于普通用户,端点应为
列出用户12的所有文档
/ api / user / 12 / documents
假设用户12具有访问权限的文档123
/ api / documents / 123
或...端点应如下所示,并使用查询字符串过滤器:
/ api / documents?user = 12
/ api / documents / 123