对于SOAP Web服务,有一个规范,所有请求/响应必须遵循。此规范采用WSDL文档的形式。但是对于REST Web服务,为什么没有这样的规范或WSDL?这是否使REST更容易受到运行时异常的影响,因为我们没有遵循任何规范?
答案 0 :(得分:19)
有许多方法可以像WSDL for SOAP一样定义RESTful API:
您可以在my blog post找到更多信息。
答案 1 :(得分:15)
REST实际上只在资源上使用HTTP谓词(GET
,PUT
,POST
,DELETE
,...)。资源上的所有操作都应该以这种方式表示。当您无法以适合其他三种方式的方式表达业务逻辑时,POST
被用作全部捕获。这就是为什么REST服务没有真正的WSDL,因为你在资源上只有4个方法。
但你还有the possibility to describe a REST web service with WSDL 2.0。
答案 2 :(得分:5)
SOAP
是一个协议
REST
是一种架构。
在许多参考文献中,您将看到REST和SOAP都被提及为 竞争对手。事实并非如此。 SOAP实际上是一种协议,而不是一种协议 建筑风格。可以与之比较的REST是SOA和RPC。 这三个都是Web服务样式的示例,每个样式都有自己的样式 概念的焦点。 RPC专注于运营,围绕SOA 消息和围绕资源的REST。 (ref)
所以对于SOAP,写了WSDL document standards。但是对于REST,没有标准文档,但有许多最佳实践如http://jsonapi.org