生成REST API文档

时间:2015-03-13 10:07:25

标签: rest maven java-ee javadoc jersey-2.0

有没有办法自动生成我的泽西休息服务的ZOHO式文档?这是迄今为止我见过的最好的REST文档之一。我愿意接受替代方案。

Swagger看起来很有希望,但我不知道如何生成它。看起来它需要一个YAML风格的文档。

我能以某种方式从javadoc生成它吗?

我更愿意通过Maven生成文档。

3 个答案:

答案 0 :(得分:0)

将swagger添加到基于运动衫的服务并不复杂。 请参阅以下详细信息steps,了解如何进行操作:

希望有所帮助

答案 1 :(得分:0)

您可以使用带有Swagger模块的Enunciate从Javadoc生成swagger-ui。首先,您需要将maven插件添加到您的pom文件中; e.g。

<plugin>
        <groupId>com.webcohesion.enunciate</groupId>
        <artifactId>enunciate-maven-plugin</artifactId>
        <version>${enunciate.version}</version>
        <executions>
           <execution>
                  <goals>
                    <goal>docs</goal>
                  </goals>
                  <configuration>
                    <configFile>enunciate.xml</configFile>
                    <docsDir>${project.build.directory}</docsDir>
                  </configuration>
           </execution>
        </executions>
</plugin>

其中'enunciate.xml'包含项目特定的配置,如下所示:

<enunciate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="http://enunciate.webcohesion.com/schemas/enunciate-2.0.0-M.3.xsd">

    <application root="/rest" />

</enunciate>

然后运行mvn package,它将从您的Javadoc生成Swagger文档文件。

P.S。取自我的回答here

答案 2 :(得分:0)

您可以使用Swagger来记录您的REST API,它的设置并不困难。有一些说明here。总结一下:

添加Swagger依赖项

将以下依赖项添加到pom.xml

<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-jersey2-jaxrs</artifactId>
    <version>1.5.0</version>
</dependency>

设置Swagger

将以下内容添加到Application课程中(根据需要更改值):

@ApplicationPath("/api")
public class MyApplication extends Application {

    public MyApplication() {
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0");
        beanConfig.setSchemes(new String[]{"http"});
        beanConfig.setHost("localhost:8080");
        beanConfig.setBasePath("/api");
        beanConfig.setResourcePackage("io.swagger.resources,com.example.project");
        beanConfig.setScan(true);
    }
}

构建项目,启动服务器并访问http://localhost:8080/app/api/swagger.json(您的环境中的URL可能不同)以获取记录API的JSON。

设置Swagger UI

GitHub下载Swagger UI,并将dist文件夹中的内容复制到您的网络内容文件夹。我通常创建一个名为api-docs的文件夹来存储所有Swagger UI文件。

打开Swagger UI index.html并更改引用swagger.json的网址:

var swaggerUi = new SwaggerUi({
    url: "http://localhost:8080/app/api/swagger.json",
    dom_id: "swagger-ui-container"
});

访问http://localhost:8080/app/api-docs(您的环境中的网址可能有所不同)。带有API文档的Swagger UI应该在那里。

更多信息