重要的提示
这个问题的焦点在于API端点,它根据谁进行身份验证来区分返回哪些资源,例如Alice获得资源A和B返回,Bob获取资源X和Y.
它不是要区分返回的资源的表示.
所有端点都返回资源的JSON表示.
前言
请考虑以下三种潜在的API端点设计,即所有返回thing用户的资源.
终点A.
GET /things
Run Code Online (Sandbox Code Playgroud)
如果<user_x>请求提供了身份验证凭据,则会返回与其具体相关的thing资源.例如,验证用户Alice获得资源A和B返回,并且验证用户Bob获取资源X和Y.<user_x>
因此,不同验证用户的响应的区别在于返回哪些资源实例,而不是返回这些实例的哪些信息(即资源表示).
身份验证失败时,将返回401响应.
终点B.
GET /user/<user_x>/things
Run Code Online (Sandbox Code Playgroud)
终点C.
GET /things/?user_id=<user_x>
Run Code Online (Sandbox Code Playgroud)
如果验证用户有权访问这些资源,端点B和C都提供thing与之相关的资源实例.<user_x>thing
thing返回的资源实例的表示(例如,返回关于资源的哪些信息)可以根据哪个用户进行认证而变化.例如,<user_x>或者管理员用户可能会获得每个资源实例更丰富的数据,然后获得具有有限访问权限的用户.
验证对thing资源没有任何访问权限的用户<user_x>将获得401响应.
我的问题
我想回答以下问题:
1)端点是RESTful吗?
2)端点A是否具有良好的URI设计?
3)端点B和C是否RESTful?
4)端点B和C是否具有良好的URI设计?
我很期待你的回答.我也在下面提供了自己的答案,并对此也提供反馈表示感谢.
谢谢!
- 弗雷迪斯奈德
我在使用XCode 4中的所有文件位置路径时遇到问题.
我有多个infoPlist.strings和CustomLocalizable.strings(针对不同的语言)组合在一起(XCode会自动执行此操作).查看文件检查器(查看>>实用程序>>显示文件检查器)以查找这些文件(默认语言的英语除外),位置为"绝对路径".
问题是文件检查器中这些文件的位置下拉菜单显示为灰色,已禁用.这使我无法将文件位置从绝对路径更改为相对路径描述.
我需要做什么才能使组中文件的所有路径位置相对?
我已经尝试将文件组的路径位置更改为,例如,"相对于组"或"相对于项目".对于组我也设置了相对路径,点击文件检查器中的位置下拉列表中的小图标.
我一直在寻找一段时间的解决方案,并感谢有人能帮助我回答上述问题.
谢谢!