【发布时间】:2017-05-08 05:18:52
【问题描述】:
假设我们有两种用户,管理员和标准用户。
我们有一个名为post 的资源。对于 GET 方法,我希望管理员查看所有帖子,但标准用户只能查看 post.created_by={currentUserID} 的帖子。
现在我有三个选择:
使用
/api/post和/api/mypost。好处是我可以轻松控制返回的结果并根据用户范围分配不同的权限。缺点是我会重复代码和文档。对两者都使用
/api/post,对于标准用户,如果没有?createdBy={id},则拒绝该请求。两者都使用
/api/post,但该方法的行为会因身份验证而异。对于标准用户,返回的列表总是被过滤。对于/api/post/{id},它将为不属于用户的帖子返回 HTTP 403。
我应该选择哪一个?
【问题讨论】:
标签: rest api oauth scope authorization