如果这个Facebook图形API是restful的

如果这个Facebook图形API是restful的,rest,facebook-graph-api,restful-architecture,Rest,Facebook Graph Api,Restful Architecture,Facebook有一个API来获取您的照片: GET graph.facebook.com /me/photos /me/是登录者Id的快捷方式。这是在会话中引入状态,因此它是restful的吗 这样做不是更让人安心吗 /user/1234/photos 然后有一些安全层来确保只有拥有适当令牌的用户才能访问该URL 注意到其他一些地方使用这种模式。例如: 为获得所有优惠券,请执行以下操作: GET https://api.stripe.com/v1/coupons Paypal对所有

Facebook有一个API来获取您的照片:

GET graph.facebook.com
  /me/photos
/me/是登录者Id的快捷方式。这是在会话中引入状态,因此它是restful的吗

这样做不是更让人安心吗

/user/1234/photos
然后有一些安全层来确保只有拥有适当令牌的用户才能访问该URL

注意到其他一些地方使用这种模式。例如:

为获得所有优惠券,请执行以下操作:

GET https://api.stripe.com/v1/coupons
Paypal对所有付款执行此操作:

GET /v1/payments/payment

GraphQL不是restful,我试图总结一下

/me
不一定引入状态,因为
me
的id可能在头中,因此服务器端仍然可以是无状态的

这是将状态引入会话,因此是吗 安静

事实上,无状态是rest的一个约束,因此您必须将您的问题重新表述为“……因此它是不是restful吗?”


但是REST严重依赖URI,因此这种快捷方式避免了URI中的透明性,根据restful原则,这不是最好的主意。

REST是提供计算机系统之间互操作性的概念/方法/方式

REST不是一个标准,由委员会/组织根据严格的规定批准

虽然存在架构约束、建议、不成文的规则和常见的解决方案,但您不能真正肯定这是rest或这不是rest。每个人都按照自己认为更好的方式设计服务

GraphAPI并不完全是REST,它们只是有点不同的东西/含义

关于FB
/me
他们说:

/me节点是一个特殊的端点,它转换为 访问令牌为的人(或Facebook页面的页面id) 当前正在用于进行API调用

由于这个URI依赖于经过身份验证的用户,它有什么问题

关于PayPal,我认为你更喜欢
/v1/payments/payment
而不是
/v1/payments/35/payment
,但部署到另一个客户的同一个应用程序将是
/v1/payments/69/payment
或类似于
/v1/user/35/logout
的注销


这一切都是为了方便。

/me与谁可以访问什么无关。这只是一条捷径。