为什么REST不使用WSDL,不像SOAP?

问题描述 投票:20回答:3

对于SOAP Web服务,有一个规范,所有请求/响应都必须遵循。该规范采用WSDL文档的形式。但是对于REST Web服务,为什么没有这样的规范或WSDL?因为我们没有遵循任何规范,这是否会使REST更容易受到运行时异常的影响?

web-services rest soap wsdl
3个回答
15
投票

REST实际上仅在资源上使用HTTP动词(GETPUTPOSTDELETE等)。应该以这种方式表示对资源的所有操作。当您无法以适合其他三个方式的方式来表达业务逻辑时,POST可以用作全部内容。这就是为什么实际上没有REST服务的WSDL的原因,因为您在资源上只有4种方法。

但是您仍然有the possibility to describe a REST web service with WSDL 2.0


21
投票

有很多方法来定义RESTful API,就像WSDL for SOAP:

您可以在my blog post上找到更多信息。


5
投票

SOAP是协议。REST是一种体系结构。

[在许多参考资料中,您将看到REST和SOAP都被提到为竞争对手。那是不对的。 SOAP实际上是协议,而不是建筑风格。可以与REST进行比较的是SOA和RPC。这三种都是Web服务样式的示例,每种都有自己的样式概念上的重点。 RPC专注于运营,SOA专注于消息,以及围绕资源的REST。 (ref

对于SOAP,写为WSDL document standards。但是对于REST,没有标准文档,但是有许多最佳实践,例如http://jsonapi.org

© www.soinside.com 2019 - 2024. All rights reserved.