spring boot2.0+swagger自动生成PDF和HTML格式的API文档

1、添加maven依赖

<dependency>
 
<groupId>io.springfox</groupId>
 
<artifactId>springfox-swagger2</artifactId>
 
<version>2.8.0</version>
<exclusions>
  <exclusion>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-models</artifactId>
  </exclusion>
  <exclusion>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-core</artifactId>
  </exclusion>
</exclusions>
</dependency>
 
<dependency>
 
<groupId>io.springfox</groupId>
 
<artifactId>springfox-swagger-ui</artifactId>
 
<version>2.8.0</version>
 
</dependency>
 
<!-- ********************* swagger导出PDF/HTML所需依赖 START ********************************* -->
 
<dependency>
 
<groupId>io.github.swagger2markup</groupId>
 
<artifactId>swagger2markup</artifactId>
 
<version>1.3.3</version>
 
</dependency>

2、添加生成ASCIIDOC所需要maven插件:

<!--此插件生成ASCIIDOC-->
 
<plugin>
 
<groupId>io.github.swagger2markup</groupId>
 
<artifactId>swagger2markup-maven-plugin</artifactId>
 
<version>1.2.0</version>
 
<configuration>
 
<!--此处端口一定要是当前项目启动所用的端口-->
 
<swaggerInput>http://localhost:[port]/[context-path]/v2/api-docs</swaggerInput>
<!--
<outputFile/>  生成单个文件
<outputDir/>    生成多个文件
-->
<!--  <outputDir>./docs/asciidoc/generated</outputDir>-->
 <outputFile>./docs/asciidoc/generated/${project.build.finalName}-API</outputFile>
<config> 
<!-- 除了ASCIIDOC之外,还有MARKDOWN和CONFLUENCE_MARKUP可选 --> 

<swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage> 

</config> 

</configuration>

</plugin>

3、添加输出PDF和HTML的maven插件:

<!--此插件生成HTML和PDF-->
 
<plugin>
 
<groupId>org.asciidoctor</groupId>
 
<artifactId>asciidoctor-maven-plugin</artifactId>
 
<version>1.5.3</version>
 
<!-- Include Asciidoctor PDF for pdf generation -->
 
<dependencies>
 
<dependency>
 
<groupId>org.asciidoctor</groupId>
 
<artifactId>asciidoctorj-pdf</artifactId>
 
<version>1.5.0-alpha.10.1</version>
 
</dependency>
 
<dependency>
 
<groupId>org.jruby</groupId>
 
<artifactId>jruby-complete</artifactId>
 
<version>1.7.24</version>
 
</dependency>
 
</dependencies>
 
<!-- Configure generic document generation settings -->
 
<configuration>
 
<sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
 
<sourceHighlighter>coderay</sourceHighlighter>
 
<attributes>
 
<toc>left</toc>
 
</attributes>
 
</configuration>
 
<!-- Since each execution can only handle one backend, run
 
separate executions for each desired output type -->
 
<executions>
 
<execution>
 
<id>output-html</id>
 
<phase>generate-resources</phase>
 
<goals>
 
<goal>process-asciidoc</goal>
 
</goals>
 
<configuration>
 
<backend>html5</backend>
 
<outputDirectory>src/docs/asciidoc/html</outputDirectory>
 
</configuration>
 
</execution>
 
 
 
<execution>
 
<id>output-pdf</id>
 
<phase>generate-resources</phase>
 
<goals>
 
<goal>process-asciidoc</goal>
 
</goals>
 
<configuration>
 
<backend>pdf</backend>
 
<outputDirectory>src/docs/asciidoc/pdf</outputDirectory>
 
</configuration>
 
</execution>
 
</executions>
 
</plugin>

4、按照上面插件里配置的路经在对应目录手动创建对应名字的空文件夹

  》使用maven compiler 编译项目,启动项目

  》运行maven plugins 中的swagger2markup 生成 文档目录

5、依次运行指令

mvn generate-resources