7

我已经构建了大量的 SOAP 网络服务,但是正在为一个特定的项目构建一个 REST 网络服务,我想知道人们将什么用于 REST 服务的“WSDL”,或者是否需要它。

4

5 回答 5

6

REST 实际上只对资源使用 HTTP 动词(GET、PUT、POST、DELETE)。对资源的所有操作都应该以这种方式表示。当您无法以适合其他三种方式表达您的业务逻辑时,POST 被用作一个包罗万象的方法。这就是为什么 REST 服务没有真正的 WSDL 的原因,因为您在资源上只有 4 个方法。请注意,Zend Framework REST 库并不是真正的 RESTful,它更像是一个普通的旧 XML (POX) 服务。

于 2008-11-12T18:58:20.657 回答
6

虽然 Sam 正确地认为 RESTful Web 应用程序不需要直接模拟 WSDL,但有一个 XML 词汇表对描述 RESTful Web 应用程序很有用:WADL,或Web Application Description Language。在我的公司,我们主要使用 WADL 为我们想要构建的给定服务定义规范——我们通常不以编程方式使用它。也就是说,WADL 主页包含一些用于代码生成的 Java 工具,而 Java REST 框架Restlet包含一个 WADL 扩展,用于基于 WADL 动态连接应用程序并基于连接应用程序动态生成 W​​ADL。我是 WADL 的粉丝,建议你去看看。

于 2008-11-14T00:00:02.180 回答
6

您可以尝试Swagger(现为 OpenAPI),它允许使用 JSON 开放标准来描述 REST 服务。

于 2012-01-16T15:01:21.477 回答
1

实际上,可以为此使用 WSDL,但它应该是 v 2.0 - 请参阅“使用 WSDL 2.0 描述 REST Web 服务”一文。

于 2008-11-20T21:17:49.537 回答
0

如果您在 REST 服务中使用 XML,则可以提供 XSD。

或者只是 XML 的示例,无论如何都应该足以解决简单数据结构的问题。

于 2008-11-12T18:15:27.047 回答