gpt4 book ai didi

rest - 静态API的URI结构

转载 作者:行者123 更新时间:2023-12-04 04:11:28 25 4
gpt4 key购买 nike

我使用基本身份验证,因此URI看起来像http://test:password@site.com/

如果我想给所有用户,我创建一个像http://test:password@site.com/users/这样的URI。

但是,如果要给特定的用户,我应该使用哪个地址?这应该是

http://test:password@site.com/users/test/ 

要不就
http://test:password@site.com/test/

还是我不知道

我问这个问题的原因是这种类型的授权意味着URI已经包含用户名。

提前致谢。

最佳答案

以分层方式创建资源URI的好处是您不会发生任何id冲突。如果您添加另一个ID为http://test:password@site.com/test/的资源类型(例如Role),则您的替代版本test可能会出现问题。您将必须确保您的ID在所有资源类型上都是唯一的,而不仅仅是特定类型的ID。另外:您的资源URI是指向用户还是角色,这一点现在不再清楚。

尽管REST并不是真正需要它,但它的命名之一就是使我们人类更容易考虑REST API:“可以在包含“用户”标签的URI中找到用户资源,这看起来很正常。REST本身实际上是与URI无关的,因此实际上不重要。但是,如果您想使用有意义的(人类可读的)URI,我会说

GET http://test:password@site.com/users/

将返回所有用户。
POST http://test:password@site.com/users/ 

将使用URI创建一个新用户和一个新资源。
PUT http://test:password@site.com/users/test

将更改此URI标识的用户资源,并满足合理的期望,您应该能够以以下方式获取此用户资源:
GET http://test:password@site.com/users/test

最后要考虑的事情:授权用户可能希望访问其他用户的用户资源(这种情况目前看来不太可能):
GET http://another:password@site.com/users/test

关于rest - 静态API的URI结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042943/

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