zoukankan      html  css  js  c++  java
  • swagger文档导出

    1. 导入依赖

            <dependency>
                <groupId>io.github.swagger2markup</groupId>
                <artifactId>swagger2markup</artifactId>
                <version>1.3.1</version>
            </dependency>
            <dependency>
                <groupId>ch.netzwerg</groupId>
                <artifactId>paleo-core</artifactId>
                <version>0.10.2</version>
            </dependency>
            <dependency>
                <groupId>io.vavr</groupId>
                <artifactId>vavr</artifactId>
                <version>0.9.2</version>
            </dependency>

    2. 导出代码

    package com.example.demo;
    
    import io.github.swagger2markup.GroupBy;
    import io.github.swagger2markup.Language;
    import io.github.swagger2markup.Swagger2MarkupConfig;
    import io.github.swagger2markup.Swagger2MarkupConverter;
    import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
    import io.github.swagger2markup.markup.builder.MarkupLanguage;
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import java.net.URL;
    import java.nio.file.Paths;
    
    @SpringBootTest
    class DemoApplicationTests {
    
        private static final String url = "http://你的ip地址和端口号/v2/api-docs";
    
        /**
         * 生成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();
    
            Swagger2MarkupConverter.from(new URL(url))
                    .withConfig(config)
                    .build()
                    .toFolder(Paths.get("./docs/asciidoc/generated"));
        }
    
        /**
         * 生成Markdown格式文档
         * @throws Exception
         */
        @Test
        public void generateMarkdownDocs() throws Exception {
            //    输出Markdown格式
            Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                    .withMarkupLanguage(MarkupLanguage.MARKDOWN)
                    .withOutputLanguage(Language.ZH)
                    .withPathsGroupedBy(GroupBy.TAGS)
                    .withGeneratedExamples()
                    .withoutInlineSchema()
                    .build();
    
            Swagger2MarkupConverter.from(new URL(url))
                    .withConfig(config)
                    .build()
                    .toFolder(Paths.get("./docs/markdown/generated"));
        }
    //  /**
    //   * 生成Confluence格式文档
    //   * @throws Exception
    //   */
    //  @Test
    //  public void generateConfluenceDocs() throws Exception {
    //      //    输出Confluence使用的格式
    //      Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
    //              .withMarkupLanguage(MarkupLanguage.CONFLUENCE_MARKUP)
    //              .withOutputLanguage(Language.ZH)
    //              .withPathsGroupedBy(GroupBy.TAGS)
    //              .withGeneratedExamples()
    //              .withoutInlineSchema()
    //              .build();
    //
    //      Swagger2MarkupConverter.from(new URL("http://localhost:8016/v2/api-docs"))
    //              .withConfig(config)
    //              .build()
    //              .toFolder(Paths.get("./docs/confluence/generated"));
    //  }
    
        /**
         * 生成AsciiDocs格式文档,并汇总成一个文件
         * @throws Exception
         */
        @Test
        public void generateAsciiDocsToFile() throws Exception {
            //    输出Ascii到单文件
            Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                    .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
                    .withOutputLanguage(Language.ZH)
                    .withPathsGroupedBy(GroupBy.TAGS)
                    .withGeneratedExamples()
                    .withoutInlineSchema()
                    .build();
    
            Swagger2MarkupConverter.from(new URL(url))
                    .withConfig(config)
                    .build()
                    .toFile(Paths.get("./docs/asciidoc/generated/all"));
        }
    
        /**
         * 生成Markdown格式文档,并汇总成一个文件
         * @throws Exception
         */
        @Test
        public void generateMarkdownDocsToFile() throws Exception {
            //    输出Markdown到单文件
            Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                    .withMarkupLanguage(MarkupLanguage.MARKDOWN)
                    .withOutputLanguage(Language.ZH)
                    .withPathsGroupedBy(GroupBy.TAGS)
                    .withGeneratedExamples()
                    .withoutInlineSchema()
                    .build();
    
            Swagger2MarkupConverter.from(new URL(url))
                    .withConfig(config)
                    .build()
                    .toFile(Paths.get("./docs/markdown/generated/all"));
        }
    
    }
  • 相关阅读:
    Web前端开发的一点记录
    关于表情符号与UTF-8的探讨
    微信公众号H5游戏本地搭建环境和调试(花生壳+wampserver+微信公众号测试号)
    ES6下的数组去重
    关于JS数组循环删除元素出现下标不对的问题
    好资源收藏
    ftp 操作,支持断点续传或者继续下载。
    推荐 greenrobot eventbus,简化安卓开发,提高安卓维护性,优化安卓性能
    T4模板TextTemplatingFileGenerator和TextTemplatingFilePreprocessor区别
    .net使用FluentValidation进行服务端验证。
  • 原文地址:https://www.cnblogs.com/knightdreams6/p/11770213.html
Copyright © 2011-2022 走看看