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