0

在提供 Restful Web 服务(在 java 中)时,有没有办法像在 soap 服务 wsdl 中一样公开服务内部的方法及其参数是什么?

Web 服务的消费端如何知道可以使用的可用方法是什么?(我只想通过它的 URL 使用 Web 服务)。

我将 NetBeans 8.0.2 与 Apache Tomcat 一起使用。

先谢谢了。

4

2 回答 2

0

正如@Alexandru 指出的 Richardson 成熟度模型,对于真正的 RESTful 服务或客户端,最后一个级别(通常从索引 0 开始为 3)已经到位,否则它不是“真正的”RESTful。

REST 背后的核心思想是将分布式客户端和服务器解耦,类似于 Web 浏览器与任何 Web 服务器完全分离。此外,与从某个起始页开始然后使用链接浏览页面的传统 Web 会话类似,这同样适用于从某些基本资源开始然后使用返回的 URI 导航到新资源的 RESTful 内容。

每个 URI 都以一个协议标识符开头,该标识符定义了可以在引用的资源上执行的可能操作或方法。大多数情况下,这将是 HTTP,但不限于此,还可以使用类似mailto、FTP 或类似的东西。因此,相应的协议规范也是有关可能操作的文档。

需要传递给 URI 的参数要么已经由先前请求的响应设置,要么可能是模板化的,因此由客户端动态设置。在这里,客户需要了解如何处理模板以及从哪里获取可能的值。然而,这也可以包含在响应中,类似于 Web 表单,其中某些选项也由服务器提供。相应的媒体类型(即application/atom+xmlapplication/hal+json)通过赋予内容更多的语义价值来支持客户端处理数据,甚至可能定义目标可以用来简化其工作的某些结构。

于 2016-10-27T11:19:25.677 回答
0

看看理查森成熟度模型REST就是关于Resources,可以在其上应用、发现/暴露HTTP Verbs(而不是“方法”)。例如,从您的 API 的顶层,客户端可以注意到一个关系,该关系将在通过请求访问后检索产品资源列表 - 等等。Linksproducts-queryGET

实现这一目标的另一种方法是将Swagger连接到您的 API 之上。

于 2016-10-27T07:16:55.583 回答