gpt4 book ai didi

管理员和普通用户访问的 RESTful API 最佳实践

转载 作者:行者123 更新时间:2023-12-03 15:51:18 26 4
gpt4 key购买 nike

必须创建一个具有管理员权限和普通用户访问资源(比如汽车)的 RESTful Web 服务,我想将用户的 Uri 结构为:

http://myhost/users/5/cars/2

但作为管理员用户,我想访问所有汽车,如:
http://myhost/cars/51

与我提出的第一个不同,您是否认为最好为汽车使用一个 Uri,为用户使用过滤器,例如:
http://myhost/cars/?user=5

同一资源没有 2 个不同的 Uris?你还有其他建议吗?

最佳答案

以下两个 URL 都很好,即使对于管理员,甚至对于普通用户也是如此。 Auth-token 应该在 HTTP session 中,所以服务器应该能够检测到请求者是否是管理员。
http://myhost/cars返回汽车的集合。建议对归还的车辆进行授权过滤。如果我是管理员,我可以看到所有汽车。如果我是 #5 用户,那么我可能只能看到我的车。所以管理员和普通用户都可以使用相同的 URL。

http://myhost/cars/?user=5的情况下在我对用户 #5 的汽车感兴趣的地方应用显式过滤器,即使我是其他人。可能我得到了一个空列表,因为我无权查看任何项目。这个网址也可以。
http://myhost/cars/51意味着我想直接访问汽车#51。我是不是管理员都没有关系。如果我无权查看此实体,我可能会收到一条 4XX 消息(什么是 XX 是另一场辩论)。

关于管理员和普通用户访问的 RESTful API 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35070866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com