使用swagger或任何其他工具生成Rest API文档

我正在寻找一种方法来记录我的Rest API。 我的服务器是Tomcat / Spring服务器,Rest API是使用Jenkins实现的。

Swagger似乎是一个非常酷的解决方案,但我无法弄清楚我如何使用它与我的代码。 我正在寻找创建json swagger-ui可以读取的最好方法 – 我该怎么做?

此外,我很乐意检查在此类环境中记录Rest API的任何其他好的解决方案。

我没有试过招摇,但你可以试着说。 它可以生成JAX-RS端点的文档,作为javadoc阶段的一部分。 有关生成文档的一些示例可在enunciate页面上找到

更新

项目已移至http://enunciate.webcohesion.com/ ,即将推出的2.0版将支持java 8。

要启用swagger-ui,您可以“按原样”使用它 – 来自文档:

“您可以使用swagger-ui代码AS-IS!无需构建或重新编译 – 只需克隆此repo并使用dist文件夹中的预构建文件。如果您喜欢swagger-ui as-is,请停在此处。 “

因此,基本上您只需要在Web服务器中放置“dist”内容,然后在UI中输入Web服务的swagger端点,例如: http://localhost:8080/Webservice/api-doc.json (这是您必须在web.xml中定义的相同地址端点)。

我怀疑你有一些错误配置的其他细节,这很容易,因为有几个地方你必须配置Swagger。 在下文中,我将向您介绍我在Swagger中设置的一些细节。

这是我的web.xml上Swagger配置的片段:

   web service com.sun.jersey.spi.container.servlet.ServletContainer  com.sun.jersey.config.property.packages com.mywebservice;com.wordnik.swagger.jaxrs.listing;com.fasterxml.jackson.jaxrs   com.sun.jersey.config.property.classnames com.mywebservice;com.wordnik.swagger.jaxrs.listing;com.fasterxml.jackson.jaxrs   swagger.api.basepath http://localhost:8080/Webservice   api.version 0.0.2  1   Bootstrap com.mywebservice.utils.swagger.Bootstrap 1   ApiOriginFilter com.mywebservice.utils.swagger.ApiOriginFilter   ApiOriginFilter /*  

Bellow是com.mywebservice.utils.swagger包的列表,其中有几个资源,如Swagger文档中所示(现在看起来与我设置时不同,所以这里是完整的文档列表) :

在此处输入图像描述

您可以在Swagger的示例项目中找到这些文件(或示例): https : //github.com/wordnik/swagger-core/tree/master/samples/java-jaxrs ,您应该尝试将其用作“模板” “设置你的招摇。 我遇到麻烦的一个文件是ApiListingResource:

 import javax.ws.rs.Path; import javax.ws.rs.Produces; import com.wordnik.swagger.annotations.Api; import com.wordnik.swagger.jaxrs.JavaApiListing; @Path("/resources.json") @Api("/resources") @Produces({ "application/json"}) public class ApiListingResource extends JavaApiListing{ } 

HTH。

如果你正在使用JAX-RS和maven,你也可以考虑尝试使用MireDot ,这非常容易设置。