- NVP不提供WSDL
什么叫贝宝名称 - 值对不是标准(它是由查询字符串中的HTTPRequest传递的名称值对完成)。但是,他们并不是唯一使用它的人(看起来)。它基本上是将参数作为名称和值对(显然)发送,这很容易以编程方式处理,因为HTML表单执行相同的操作,所以通过发送NVP您可以模拟Web表单,而服务器端编程也是一样的。
总之,将其称为NVP比说:请使用application/x-www-form-urlencoded
更容易。
- SOAP的Web服务可能或在任何时候都可能无法提供一个WSDL为你纳入你的项目,以消耗
从理论上讲,是。作为协议的SOAP不强制使用WSDL来定义/描述。它只描述客户端和服务器(和/或中介)之间的消息。实际上,SOAP Web服务的概念通常意味着使用WSDL描述并使用SOAP进行消息交换的Web服务。几乎所有可用的软件(.Net,Java和其他像gSOAP C/C++)通过WSDL定义Web服务。工具可用于将预定义的类转换为WSDL,反之亦然,SOAP通常由库支持来处理。
总之,通过从WSDL生成类来使用Web服务的方式是标准方法。虽然SOAP定义了交换的消息,但如果没有定义服务 - 在WSDL中 - 它不是一个Web服务,因为没有服务契约。
- REST仅仅是一个命名年公约可以施加到NVP - 或 - SOAP/WSDL类型的API
REST当然不是一个命名这是一种建筑风格,主要围绕着资源和超链接的概念构建。有很好的解释,但你可以很大程度上通过这种风格来识别它:你使用一小部分动词(通常是HTTP:GET,POST,PUT,DELETE或其中的一部分)来实现你想要的资源动作。一个简单的方法来找出那些是:
地址表示的资源,因此,而不是像销售,授权和订单有动作被发送,你会处理看起来像http://www.example.org/Sales/sale-015和http://www.example.org/orders/1337不同的地址请求的一部分,你可以使用GET进行访问或使用DELETE进行删除,或者根据需要使用PUT或POST进行修改。
对REST请求的响应通常包含相关链接,您可以将其用于潜在的下一个操作。因此,销售的响应消息可能包含允许您确认销售的链接。
如果正确实施,REST为客户端和服务器提供更多的修改范围。相比之下,SOAP Web服务客户端和服务器必须坚持定义为互操作的WSDL协定。
- 它被称为API或SDK吗?我总是指一个服务,我正在访问API API,但是由于某种原因,我的老板称之为一个对我来说没有意义的SDK ...... API是我看到最多的那个
API(应用程序编程接口)是一个定义的函数列表,可以从外部访问,从而定义一个接口。 SDK(软件开发工具包)是一组用来开发软件的软件工具和库。所以如果你下载的是SDK的可执行代码;如果它是API的文档。
贝宝提供了一个API。通过对比,为iPhone开发软件(只是为了举例),您必须从Apple下载iPhone SDK。
谢谢。我认为它有点奇怪,有些不提供SOAP,只是应用程序/ x-www-form-urlencoded – PositiveGuy 2010-07-16 03:52:57
Facebook没有提供WSDL,我只是不明白。你为什么不支持大多数人都想使用的主要Web服务类型? – PositiveGuy 2010-07-16 03:54:12
基本上,它们是Web服务的不同方法。如果您将像Amazon S3一样的API(http://docs.amazonwebservices.com/AmazonS3/latest/index.html?RESTAPI.html)同时包含REST和SOAP API,那么使用REST并不比使用REST更困难肥皂。 WSDL有帮助,但您仍然需要阅读文档。过去,亚马逊为其服务提供了SOAP和REST API,并且有超过80%的开发人员使用REST API。所以,并非大多数人都想使用SOAP。 – 2010-07-16 08:10:37