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 

转载于:https://www.cnblogs.com/jpfss/p/11438635.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值