我是这个游戏的新手,所以我可能会误解事物.实际上,如果有人告诉我,我误解了事情,那将是一种恩惠.也许这个人会体贴到足以向我展示正确的道路.但...
REST适用于Web服务(http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services)的" 指南 "或" 最佳实践 "之一是,您应该在拨打电话时使用正确的HTTP方法(我误解了它?)REST API的.
但是看看Web上的许多API实现,我看到100%的调用实际上是GET调用,根据它们的URI,它将被API解释为HTTP动词或方法之一.
因此,例如,查看Twitter(https://dev.twitter.com/rest/public)的REST API文档,其原则上只定义了两个动词/方法(GET和POST),实际上已发送所有调用作为GET,并且基于GET调用中的URI,由API解释并采取行动.
例:
GET状态/查找:https://api.twitter.com/1.1/statuses/lookup.json
POST状态/更新(PUT?):https://api.twitter.com/1.1/statuses/update.json
在这两种情况下,调用本身都是使用GET进行的,URI的最后一部分将其定义为真正的GET或POST.
总之,要成为真正的REST,不应该为Web服务的REST API的客户端实现使用正确的HTTP谓词/方法吗?
我错过了什么?
为了掌握RESTfulAPI 的基本目的,我开始深入研究HATEOAS.
根据那个维基百科页面,
除了对超媒体的一般理解之外,REST客户端不需要有关如何与任何特定应用程序或服务器交互的先验知识.相比之下,在面向服务的体系结构(SOA)中,客户端和服务器通过文档或接口描述语言(IDL)共享的固定接口进行交互.
现在,我并不真正理解它应该如何工作,除非事先知道API中可用的内容,否则它会谴责其声明的目的HATEOAS.事实上,Swagger等工具的存在是为了记录RESTfulAPI 的明确目的.
因此,虽然我明白HATEOAS可以允许web服务指示资源的状态,但我错过了链接(haha),它展示了客户端应用程序如何在没有某种类型的情况下找出如何处理返回的后续链接"固定接口".
HATEOAS应该如何实现这一目标?
我是Web服务概念的新手,但我已经完成了很少的工作并实现了REST服务.我几乎没有问题
Web服务是否仅用于跨平台通信?
何时使用SOAP或REST?我该如何做出决定
Web服务有哪些优点
提前致谢