当前位置 : 主页 > 网页制作 > HTTP/TCP >

什么是REST兼容的方法来处理基于用户的资源访问?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在构建一个API,它将由不同角色/类型的不同登录(而不是登录)用户使用(例如读者,编辑者,管理员等). 是/ users / {user_id} / path / to / data是一种正确的RESTful方式来定义用户有权访问的内容
我正在构建一个API,它将由不同角色/类型的不同登录(而不是登录)用户使用(例如读者,编辑者,管理员等).

是/ 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的方式?

注意:它不是关于用户资源的子资源,例如地址(如果我们将其定义为用户的子资源).由于这种情况是明确的/ users / {user_id} / addresses / {address_id}.问题一般是关于用户可以访问的整个数据.

我认为用户ID在URL中没有位于非用户相关的东西 – 你描述的内容最好用/ path / to / data /表示 – 而user_token或类似的东西应该在标题中携带(例如在auth标头中的 JSON Web Token),不在URL中而不在查询参数中.

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

您描述的结构仅在资源是用户的子资源时才适用,并且正如您所指出的那样,您所询问的资源不是这种情况.

网友评论