20

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

4

3 回答 3

23

有很多方法可以定义 RESTful API,就像 SOAP 的 WSDL:

您可以在我的博客文章中找到更多信息。

于 2013-04-26T04:44:13.020 回答
15

REST 实际上只在资源上使用 HTTP 动词 ( GET, PUT, POST, DELETE, ...)。对资源的所有操作都应该以这种方式表示。POST当您无法以适合其他三种方式表达您的业务逻辑时,它被用作全部。这就是为什么 REST 服务没有真正的 WSDL 的原因,因为您在资源上只有 4 个方法。

但是您仍然可以使用 WSDL 2.0 描述 REST Web 服务

于 2013-04-09T16:15:23.730 回答
6

SOAP是一个协议。
REST是一种架构。

在许多参考资料中,您会看到 REST 和 SOAP 都被视为竞争对手。那不是真的。SOAP 实际上是一种协议,而不是一种架构风格。REST 可以与之比较的是 SOA 和 RPC。这三个都是 Web 服务样式的示例,每个都有自己的概念重点。RPC 侧重于操作,SOA 侧重于消息,REST 侧重于资源。(参考

所以对于 SOAP,编写了WSDL 文档标准。但是对于 REST 没有标准文档,但是有很多最佳实践,例如http://jsonapi.org

于 2017-03-12T20:26:49.173 回答