springboot下生成swagger离线文档
程序员文章站
2022-03-23 22:11:35
demo步骤:使用test类运行ExportSwaggerDoc.generateAsciiDocs生成文件,swagger-demo/docs/asciidoc/generated下,执行install test,生成文件swagger-demo/docs/asciidoc/html下需要生成pdf文件可以修改此处 html 和 pdf,通过 mvn asciidoctor:process-asciidoc 可以导出相应格式文件./docs/...
demo
步骤:
- 使用test类运行ExportSwaggerDoc.generateAsciiDocs
- 生成文件,swagger-demo/docs/asciidoc/generated下,执行install test,
生成文件swagger-demo/docs/asciidoc/html下 - 需要生成pdf文件
可以修改此处 html 和 pdf,通过 mvn asciidoctor:process-asciidoc 可以导出相应格式文件
<outputDirectory>./docs/asciidoc/pdf</outputDirectory>
<backend>pdf</backend>
再执行第2步骤
引入依赖
<!--swagger 文档-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!--导出swagger文档需要模板的依赖包-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
<scope>test</scope>
</dependency>
<!--离线html或者文档依赖-->
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
<!--springfox-staticdocs 生成静态文档 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-staticdocs</artifactId>
<version>2.6.1</version>
</dependency>
生成文档test类
/**
- @Author zjx
- @create 2020/7/14 18:05
- @Des 使用RunWith注解和SpringBootTest注解,启动应用服务容器。
- SpringBootTest.WebEnvironment.DEFINED_PORT表示使用application.yml定义的端口,
- 而不是随机使用一个端口进行测试,这很重要。
- Swagger2MarkupConfig 是输出文件的配置,如文件的格式和文件中的自然语言等
- Swagger2MarkupConverter的from表示哪一个HTTP服务作为资源导出的源头(JSON格式),
- 可以自己访问试一下这个链接。8081是我的服务端口,需要根据你自己的应用配置修改。
- toFile表示将导出文件存放的位置,不用加后缀名。也可以使用toFolder表示文件导出存放的路径。
- 二者区别在于使用toFolder导出为文件目录下按标签TAGS分类的多个文件,使用toFile是导出一个文件(toFolder多 个文件的合集)。
/
@RunWith(SpringRunner.class)
/@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)*/
public class ExportSwaggerDoc {
/**- 生成AsciiDocs格式文档
- @throws Exception
*/
@Test
public void generateAsciiDocs() throws Exception {
// 输出Ascii格式
Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
.withMarkupLanguage(MarkupLanguage.ASCIIDOC)//设置生成格式
.withOutputLanguage(Language.ZH)//设置语言中文还是其他语言
.withPathsGroupedBy(GroupBy.TAGS)
.withGeneratedExamples()
.withoutInlineSchema()
.build();
//设置swagger-api的json来源
Swagger2MarkupConverter.from(new URL(“http://localhost:8081/v2/api-docs”))
.withConfig(config)
.build()
.toFolder(Paths.get("./docs/asciidoc/generated/all"));//设置生成文件的路径
}
}
MarkupLanguage类可选择设置生成文档格式,md、ascii和txt
配置的地址:http://localhost:8081/v2/api-docs 为swagger启动后文档地址,使用swagger弄人配置的话,只需要修改端口为自己的服务端口就行
## maven需要引入的插件
org.springframework.boot
spring-boot-maven-plugin
io.github.swagger2markup
swagger2markup-maven-plugin
1.3.1
http://127.0.0.1:8081/v2/api-docs
./docs/asciidoc/generated
可以修改此处 html 和 pdf,通过 mvn asciidoctor:process-asciidoc 可以导出相应格式文件
./docs/asciidoc/pdf
pdf
执行 mvn asciidoctor:process-asciidoc 后再执行 mvn generate-resources,可在 targt/generated-docs 目录下生成 xml 格式文件。
**需要整理成word文档可以自己根据pdf转换
最简单方式:直接打开html,cp到新建word文档内即可**
本文地址:https://blog.csdn.net/qq_23489303/article/details/107690884
上一篇: List按某个字段排序
下一篇: 并查集
推荐阅读
-
ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
-
[springboot 开发单体web shop] 4. Swagger生成Javadoc
-
Django使用swagger生成接口文档
-
springboot~mockMvc和asciidoctor生成基于TDD的API文档
-
在Windows系统下使用PHP生成Word文档的教程
-
SpringBoot(六) SpringBoot整合Swagger2(自动化生成接口文档)
-
asp.net core web api 生成 swagger 文档
-
ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
-
Springboot集成接口文档swagger,使用,测试
-
SpringBoot集成Swagger2构建在线API文档的代码详解