当前位置: 移动技术网 > IT编程>开发语言>Java > springboot下生成swagger离线文档

springboot下生成swagger离线文档

2020年07月31日  | 移动技术网IT编程  | 我要评论

demo
步骤:

  1. 使用test类运行ExportSwaggerDoc.generateAsciiDocs
  2. 生成文件,swagger-demo/docs/asciidoc/generated下,执行install test,
    生成文件swagger-demo/docs/asciidoc/html下
  3. 需要生成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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网