springboot下生成swagger离线文档

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文档内即可**
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger2是一个开源的项目,用于生成RESTful API的文档。通过Swagger2,我们可以方便地定义API的请求和响应格式、参数、返回值等,并且生成美观、易于阅读的文档Swagger2支持在线文档生成,但在某些场景下,我们可能需要生成线文档以便于查阅。 生成Swagger2的离线文档可以通过以下几个步骤实现: 1. 在项目中添加Swagger2的依赖。我们可以通过Maven或Gradle等工具,在项目的配置文件中添加Swagger2的依赖项,以便于能够在项目中使用Swagger2的相关注解和配置。 2. 在代码中添加Swagger2的注解。在需要生成文档的API接口的方法上,使用Swagger2提供的注解,如@Api、@ApiOperation、@ApiParam等,对API进行描述和参数的定义。 3. 配置Swagger2的参数。在项目的配置文件中,我们可以配置Swagger2的相关参数,如API文档的标题、描述、版本号等。我们还可以指定生成线文档的输出路径。 4. 运行项目生成线文档。启动项目后,访问Swagger2的API文档页面,可以查看在线文档。在该页面上,我们可以找到一个生成线文档的按钮或链接,点击后会将API文档以HTML或其他格式导出到本地的指定路径。 通过以上步骤,我们就可以很方便地生成Swagger2的离线文档。在项目构建或发布过程中,我们可以将这些离线文档打包发布,供其他团队成员或API使用者参考和查阅。这样可以提高API的可理解性和使用性,减少沟通和解释成本,提升开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值