对于SOAP Web服务,有一个规范,所有请求/响应必须遵循。本规范采用WSDL文档的形式。但是对于REST Web服务,为什么没有这样的规范或WSDL?这是否会使REST更容易受到运行时异常的影响,因为我们没有遵循任何规范?为什么REST没有与SOAP不同的WSDL
15
A
回答
12
REST真的只对资源使用HTTP动词(GET
,PUT
,POST
,DELETE
,...)。资源上的所有操作都应该以这种方式表示。 POST
被用作捕捉所有的东西,当你无法以适合其他三种方式来表达你的业务逻辑。这就是为什么REST服务没有真正的WSDL,因为在资源上只有4种方法。
但是你还有the possibility to describe a REST web service with WSDL 2.0。
18
有很多方法来定义一个RESTful API就像WSDL对SOAP一堆:
你可以在这里找到更多关于my blog post的信息。
2
SOAP
是一个协议。
REST
是一种架构。
在许多参考文献中,您将看到REST和SOAP都被提及为 的竞争对手。那是不正确的。 SOAP实际上是一个协议,而不是一个 架构风格。可以与REST进行比较的是SOA和RPC。 这三个都是Web服务样式的例子,每个样式都有自己的 概念焦点。 RPC专注于操作,围绕 消息的SOA,以及围绕资源的REST。 (ref)
所以对于SOAP,写了WSDL document standards。但是对于REST,没有标准文档,但有许多最佳实践,如http://jsonapi.org
相关问题
- 1. 为什么没有WSDL的SOAP?
- 2. 什么是WSDL,SOAP和REST?
- 3. SOAP与REST和WSDL
- 4. WCF - 为什么没有WSDL
- 5. 了解WSDL,SOAP,REST等
- 6. WSDL for SOAP和基于JSON的REST和REST的WSDL
- 7. 为什么我们应该在WSDL中有SOAP位置?
- 8. WSDL警告:不是SOAP端口,它没有soap:地址
- 9. 为什么没有ActiveRecord REST适配器
- 10. 对于与SOAP不同的其他协议的WSDL?
- 11. Android Web服务,REST还是SOAP WSDL?
- 12. 为什么会使用REST而不是基于SOAP的服务?
- 13. 使单个WCF服务同时支持SOAP,REST和WSDL
- 14. WSO2 API Manager将JSON REST API转换为后端的SOAP/WSDL
- 15. 有没有Google代码问题的API(SOAP,JSON,XML-RPC,REST,什么)?
- 16. Data.Void.absurd与⊥有什么不同?
- 17. “((...))”与“(...)”有什么不同?
- 18. 没有WebServiceHostFactory的WCF REST和SOAP服务
- 19. 为什么我使用authorize.net获取此WSDL SOAP错误?
- 20. 为什么GlassFish和JBoss提供不同的WSDL?
- 21. SOAP for NodeJS不使用WSDL
- 22. WSDL + PHP + Java的(SOAP)
- 23. PHP5和SOAP/WSDL?
- 24. Soap WSDL with Null
- 25. implenting WSDL和SOAP
- 26. WSDL to SOAP Envelope
- 27. soap/wsdl test soapui
- 28. 为什么输出的行为与ssh有所不同?
- 29. 为什么kubectl与sudo有不同的行为?
- 30. 为什么我的WCF Web服务有两个不同的SOAP绑定?
由于使用标准HTTP动词,对于REST服务不需要类似WSDL的建议具有误导性。现实情况是,一般来说,你不能指望不同的REST实现以相同的方式使用HTTP,而HTTP动词不会告诉你任何有关它们所作用的表示的信息。因此,对于任何给定的REST服务,关于如何使用它的信息都存在巨大的真空,让实施者开发一些描述它的带外方式,从“阅读我们的文档”到“用浏览器浏览并找出它“。 – Hoobajoob 2014-04-16 17:53:13