在IDEA上使用Swagger生成PDF以及HTML接口文档

在IDEA上使用Swagger生成PDF以及HTML接口文档

  • 编辑POM.XML文件配置相关依赖
  • 生成文件
  • 可能会遇到的问题

编辑POM.XML文件配置相关依赖

		<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </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.1</version>
        </dependency>
        <!-- ********************* swagger导出PDF/HTML所需依赖 END ********************************* -->

首先我们需要在pom.xml中导入swagger相关的依赖包。

			<!--此插件生成ASCIIDOC-->
            <plugin>
                <groupId>io.github.swagger2markup</groupId>
                <artifactId>swagger2markup-maven-plugin</artifactId>
                <version>1.2.0</version>
                <configuration>
                    <!--此处端口一定要是当前项目启动所用的端口-->
                    <swaggerInput>http://localhost:9002/jcms/v2/api-docs</swaggerInput>
                    <outputDir>src/docs/asciidoc/generated</outputDir>
                    <config>
                        <!-- 除了ASCIIDOC之外,还有MARKDOWN和CONFLUENCE_MARKUP可选 -->
                        <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
                    </config>
                </configuration>
            </plugin>
            <!--此插件生成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.21</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>

此外我们还需要在pom.xml配置生成PDF和HTML以及源文件ASCIIDOC的插件。

生成文件

在IDEA上使用Swagger生成PDF以及HTML接口文档_第1张图片
在IDEA的右侧的maven中选择相应工程点开后选择swagger2markup插件点击运行,就可以根据在pom中配置的路径位置生成相应的源文件。如下图所示。
在IDEA上使用Swagger生成PDF以及HTML接口文档_第2张图片
当然此时的html和pdf连文件夹都没有生成,所以我们还需要运行之前配置的生成html和pdf的文件来生成相应的html和pdf。如下图所示。
在IDEA上使用Swagger生成PDF以及HTML接口文档_第3张图片

可能会遇到的问题

第一个可能会遇到的问题是生成的PDF生成的格式可能由于编码问题导致有部分汉字无法显示出来,所以我选择了使用html版本。
第二个可能会在‘http://localhost://v2/api-docs’第一次用的朋友可能不知道他是怎么来的,这个地址路径其实可以去你本地的swagger页面上去取,就在页面端的标题下面。
第三个是在运行第二个插件的时候IDEA的控制台会出现不兼容不支持的问题,报什么IO/**** not support这种问题,其实这个我也不知道怎么解决。反正就是瞎鼓捣,等了一会之后就ok了。

你可能感兴趣的:(在IDEA上使用Swagger生成PDF以及HTML接口文档)