ale*_*sel 9 authentication rest uri
我使用基本身份验证,因此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冲突.http://test:password@site.com/test/如果添加具有id的其他资源类型(例如Role),则替代版本可能会出现问题test.您必须确保您的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
| 归档时间: | 
 | 
| 查看次数: | 1121 次 | 
| 最近记录: |