gpt4 book ai didi

rest - 什么是符合 REST 的方法来处理基于用户的资源访问?

转载 作者:行者123 更新时间:2023-12-01 09:54:36 25 4
gpt4 key购买 nike

我正在构建一个 API,它将被不同角色/类型(例如 readereditor)的不同登录(和未登录)用户使用>、admin 等)。

/users/{user_id}/path/to/data 之类的东西是定义用户有权访问的正确 RESTful 方式吗?或者可能只是 /{user_id}/path/to/data?还是应该像 /path/to/data?user_id={user_id}/path/to/data?user_token={user_token} 这样的正文/查询参数?或者标题是否是该信息的正确位置?

应该如何向 API 服务器提供符合 REST 规范的方式?


注意:这与user 资源的子资源无关,例如addresses(如果我们将其定义为 user 的子资源)。由于这种情况很明显 /users/{user_id}/addresses/{address_id}。问题通常是关于用户可能访问的全部数据。

最佳答案

我认为用户 ID 在与用户无关的 URL 中没有位置 - 你所描述的最好简单地表示为/path/to/data/- 并且 user_token 或类似的应该在 header (例如 auth header 中的 JSON Web Token),不在 URL 中,也不在查询参数中。

如果用户无权访问指定资源,则系统应响应授权错误 HTTP 响应。

只有当资源是用户的子资源时,您描述的结构才适用,正如您所指出的,对于您询问的资源而言情况并非如此。

关于rest - 什么是符合 REST 的方法来处理基于用户的资源访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847561/

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