gpt4 book ai didi

属于特定用户的资源的 REST URI 设计

转载 作者:行者123 更新时间:2023-12-01 03:56:35 25 4
gpt4 key购买 nike

假设我想创建一个非常简单的 todolist RESTful API,其中每个用户都拥有一个 todos 列表。用户已通过 http BASIC 或 DIGEST 进行身份验证。

在这一点上,我不确定 URL 方案应该是什么样子。
可不可能是:

http://servername/todos/

我的服务器根据 http header 给我的身份验证过滤适当的待办事项。

或者我应该在 URI 中包含用户名:
http://servername/users/username/todos/

在一些网站上,我什至看到他们将用户名作为这样的参数传递:
http://servername/todos?username=babsi

据我所知,所有三个选项都是无状态的,因为我总是收到用户名,但只是来自不同的来源。据我所知,为了确保正确的用户访问了 URI,我总是需要检查 http header 。那么,您认为 REST 中最好的 URI 设计是哪一种,还是我应该以完全不同的方式来做?

最佳答案

当您收到 URL 中的用户名与身份验证不匹配的请求时,URL 中的用户名取决于您想要做什么(如果有的话)。如果您想在这种情况下重新授权用户,那么是的 - 在 URL 中包含用户名是可以的,否则如果没有这样的需要,可以只在您的标题或其他身份验证方案中使用它。

有效要求的一个相当常见的例子是,如果您必须有一个可以冒充其他用户的主要用户(或一组此类用户)。

关于属于特定用户的资源的 REST URI 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817575/

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