写在前言:前阵子工作涉及到与其他公司进行接口对接,要求要swagger文档,之前没有用过这个,于是写了一下,整理出来

1、添加swagger依赖

在项目的pom文件中添加swagger的依赖

<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.8.0</version>
</dependency>

2、编写swagger的配置类

SpringBoot整合swagger2生成接口文档,并且实现导出功能
代码如下

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //为当前包路径
                .apis(RequestHandlerSelectors.basePackage("com.anso.data.sync.api.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //页面标题
                .title("接口文档")
                //创建人
                .contact(new Contact("yedan", null, null))
                //版本号
                .version("1.0")
                //描述
                .description("数据对接接口文档")
                .build();
    }
}

SpringBoot整合swagger2生成接口文档,并且实现导出功能
当有多个参数的时候,可以使用注解@ApiImplicitParams
以上是swagger的使用方式,运行项目可以直接访问 http://localhost:8028/swagger-ui.html,就可以看到对应的接口文档

4、可以在页面上查看swagger文档后,我们可以继续配置能够导出接口文档,导出html文件的方式,直接在项目的pom文件下添加

SpringBoot整合swagger2生成接口文档,并且实现导出功能

<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>1.5.6</version>
    <configuration>
        <!-- asciidoc文档输入路径 -->
        <sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
        <!-- html文档输出路径 -->
        <outputDirectory>src/docs/asciidoc/html</outputDirectory>
        <backend>html</backend>
        <sourceHighlighter>coderay</sourceHighlighter>
        <!-- html文档格式参数 -->
        <attributes>
            <doctype>book</doctype>
            <toc>left</toc>
            <toclevels>3</toclevels>
            <numbered></numbered>
            <hardbreaks></hardbreaks>
            <sectlinks></sectlinks>
            <sectanchors></sectanchors>
        </attributes>
    </configuration>
</plugin>

pom文件修改完成后,运行项目,在控制台输入mvn asciidoctor:process-asciidoc 执行,即可在src下可以看到生成的接口文档

5、同理,用同样的方法可以生成MD格式的,修改pom文件

SpringBoot整合swagger2生成接口文档,并且实现导出功能

<plugin>
    <groupId>io.github.swagger2markup</groupId>
    <artifactId>swagger2markup-maven-plugin</artifactId>
    <version>1.3.1</version>
    <configuration>
        <!-- api-docs访问url -->
        <swaggerInput>http://localhost:8028/v2/api-docs</swaggerInput>
        <!-- 生成为单个文档,输出路径 -->
        <outputFile>src/docs/asciidoc/generated/all</outputFile>
        <config>
            <!-- ascii格式文档 -->
            <swagger2markup.markupLanguage>MARKDOWN</swagger2markup.markupLanguage>
            <swagger2markup.pathsGroupedBy>TAGS</swagger2markup.pathsGroupedBy>
        </config>
    </configuration>
</plugin>

pom文件修改完成后,运行项目,在控制台输入mvn swagger2markup:convertSwagger2markup 执行,即可在src下可以看到生成的接口文档
以上就是swagger2生成接口文档的例子

相关文章:

  • 2021-08-25
  • 2019-01-10
  • 2021-08-06
  • 2019-03-29
  • 2021-09-14
  • 2021-07-27
  • 2021-04-13
  • 2021-12-10
猜你喜欢
  • 2021-05-21
  • 2022-01-15
  • 2021-10-08
  • 2021-09-09
  • 2021-04-08
  • 2021-05-30
  • 2021-06-05
相关资源
相似解决方案