1.下载项目

下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文件路径不要有中文。我们称这个项目为A项目。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191019184854193.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JydWNlTGl1X2NvZGU=,size_16,color_FFFFFF,t_70
没错这个项目就是专门根据json解析生成文档的。

2.修改配置

解压项目,并且用IDEA打开。

启动要生成文档的项目,前提这个项目集成了swagger2,浏览 http://localhost:8080/swagger-ui.html
输入:http://localhost:8080/v2/api-docs 保存页面的json数据,并把这个json文件保存在一个路径下
找到A项目的pom.xml修改:​​​<swagger.input>api-docs.json</swagger.input>​​ 的值,就是你的json文件路径,我这里是直接把这个json文件放到了A项目中,所以这样写。

<properties>
<java.version>1.8</java.version>
<swagger2markup.version>1.2.0</swagger2markup.version>
<asciidoctor.input.directory>${project.basedir}/src/docs/asciidoc</asciidoctor.input.directory>

<swagger.output.dir>${project.build.directory}/swagger</swagger.output.dir>
<swagger.snippetOutput.dir>${project.build.directory}/asciidoc/snippets</swagger.snippetOutput.dir>
<generated.asciidoc.directory>${project.build.directory}/asciidoc/generated</generated.asciidoc.directory>
<asciidoctor.html.output.directory>${project.build.directory}/asciidoc/html</asciidoctor.html.output.directory>
<asciidoctor.pdf.output.directory>${project.build.directory}/asciidoc/pdf</asciidoctor.pdf.output.directory>

<!--<swagger.input>${swagger.output.dir}/swagger.json</swagger.input>-->
<swagger.input>http://localhost:8080/v2/api-docs</swagger.input>
<jackson.version>2.9.6</jackson.version>
<springfox.version>2.9.2</springfox.version>
</properties>

3.编译

执行 mvn test 命令,在\target\asciidoc 找到生成的文档
SpringBoot整合swagger2导出API文档_spring
好吧这样 HTML和 PDF 格式的文档就生成好了,缺点是多层json格式解析不到。Controller下的方法都被隐藏了,有时间再研究吧。