有没有办法自动生成我的泽西休息服务的ZOHO式文档?这是迄今为止我见过的最好的REST文档之一。我愿意接受替代方案。
Swagger看起来很有希望,但我不知道如何生成它。看起来它需要一个YAML风格的文档。
我能以某种方式从javadoc生成它吗?
我更愿意通过Maven生成文档。
答案 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。总结一下:
将以下依赖项添加到pom.xml
:
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.0</version>
</dependency>
将以下内容添加到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。
从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应该在那里。
您始终可以customize Swagger UI满足您的需求。
Swagger读取JAX-RS annotations以生成文档。此外,您可以使用Swagger annotations来改进它。