REST客户端API数据类型

时间:2014-08-20 19:01:37

标签: java rest wsdl

我的基本假设是,使用SOAP Web服务,提供的WSDL将包含描述发送和接收的数据类型的XSD。在使用Java开发客户端时,可以使用wsimport之类的工具生成与WSDL元素相对应的类,特别是复杂数据类型。这使得SOAP客户端的开发人员无需创建表示返回类型(和/或复杂参数)的类。

相比之下,使用REST api,我通常不会看到 -

  1. WSDL 2.0 http://www.ibm.com/developerworks/webservices/library/ws-restwsdl/
  2. WADL http://www.w3.org/Submission/wadl/
  3. (如果服务器和客户端都是Java)只提供服务器端使用的相同JAXB类
  4. XSD
  5. 所以我的问题是 - 作为REST服务器端api的作者,向客户提供相关数据类型的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

由于REST API的用户肯定是开发人员,因此没有人对此作出答复。 作为开发人员,我会考虑使用我最喜欢的编程语言的客户端库(由API的创建者开发)作为最佳选择。

您已经提到过WADL文档,但也有:

  • Swagger:可能是最成熟,功能最丰富的REST API文档方法。它包含一个可嵌入的API浏览器。
  • RAML:基于YAML的REST API规范标准。围绕此创建了多个项目,例如一个(实验性的)JAX-RS生成器,包括带注释的Jackson类或raml2html转换器。

在两种选择中都支持Json Schema的XSD。通过使用其中一个,您应该能够创建一个对所有可能的API用户都有用的文档。