小编Vis*_*per的帖子

API端点是否根据用户凭据RESTful和良好的URI设计来区分要返回的资源?

重要的提示

这个问题的焦点在于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设计?

我很期待你的回答.我也在下面提供了自己的答案,并对此也提供反馈表示感谢.

谢谢!

- 弗雷迪斯奈德

authentication rest uri api-design restful-url

17
推荐指数
1
解决办法
2965
查看次数

如何在XCode 4中将分组(本地化)文件的位置从绝对路径更改为相对路径?

我在使用XCode 4中的所有文件位置路径时遇到问题.

我有多个infoPlist.strings和CustomLocalizable.strings(针对不同的语言)组合在一起(XCode会自动执行此操作).查看文件检查器(查看>>实用程序>>显示文件检查器)以查找这些文件(默认语言的英语除外),位置为"绝对路径".

问题是文件检查器中这些文件的位置下拉菜单显示为灰色,已禁用.这使我无法将文件位置从绝对路径更改为相对路径描述.

我需要做什么才能使组中文件的所有路径位置相对?

我已经尝试将文件组的路径位置更改为,例如,"相对于组"或"相对于项目".对于组我也设置了相对路径,点击文件检查器中的位置下拉列表中的小图标.

我一直在寻找一段时间的解决方案,并感谢有人能帮助我回答上述问题.

谢谢!

relative-path absolute-path filepath xcode4

10
推荐指数
1
解决办法
3962
查看次数