Springboot swagger2 导出api文档


具体导出的代码,参考了:http://www.spring4all.com/article/699

导出前,首先需要配置好swagger2,参见 https://www.cnblogs.com/yanqin/p/9145895.html

直接贴代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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>

  code

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
 
import java.net.URL;
import java.nio.file.Paths;
 
 
@RunWith(SpringRunner. class )
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class SwaggerTo {
 
     /**
      * 生成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( "http://localhost:8016/v2/api-docs" ))
                 .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( "http://localhost:8016/v2/api-docs" ))
                 .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( "http://localhost:8016/v2/api-docs" ))
                 .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( "http://localhost:8016/v2/api-docs" ))
                 .withConfig(config)
                 .build()
                 .toFile(Paths. get ( "./docs/markdown/generated/all" ));
     }
}

 原文地址:https://www.cnblogs.com/yanqin/p/9145941.html 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM