为什么使用swagger

    在实际开发中我们作为后端总是给前端或者其他系统提供接口,每次写完代码之后不可避免的都需要去写接口文档,首先写接口文档是一件繁琐的事,其次由接口到接口文档需要对字段、甚至是排版等。再加上如果我们是为多个系统提供接口时可能还需要按照不同系统的要求去书写文档,那么有没有一种方式让我们在开发阶段就给前端提供好接口文档,甚至我们可以把生成好的接口文档暴露出去供其他系统调用,那么这样我只需要一份代码即可。

spring boot配置 swagger

 1.导入maven依赖

<!--配置swagger-->
        <dependency>
            <groupid>io.springfox</groupid>
            <artifactid>springfox-swagger2</artifactid>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupid>io.springfox</groupid>
            <artifactid>springfox-swagger-ui</artifactid>
            <version>2.6.1</version>
        </dependency>

        <!--swagger第三方ui-->
        <dependency>
            <groupid>com.github.xiaoymin</groupid>
            <artifactid>swagger-bootstrap-ui</artifactid>
            <version>1.9.6</version>
        </dependency>

2.swagger配置类

@enableswagger2                // swagger的开关,表示已经启用swagger
@configuration                 // 声明当前配置类
public class swaggerconfiguration  {

    @value("${swagger.basepackage}")
    private string basepackage;       // controller接口所在的包

    @value("${swagger.title}")
    private string title;           // 当前文档的标题

    @value("${swagger.description}")
    private string description;         // 当前文档的详细描述

    @value("${swagger.version}")
    private string version;         // 当前文档的版本



    @bean
    public docket createrestapi() {
        return new docket(documentationtype.swagger_2)
                .apiinfo(apiinfo())
                .select()
                .apis(requesthandlerselectors.basepackage(basepackage))
                .paths(pathselectors.any())
                .build();
    }

    private apiinfo apiinfo() {
        return new apiinfobuilder()
                .title(title)
                .description(description)
                .version(version)
                .build();
    }

}

3.application.yml

# 配置swagger
swagger:
  basepackage: com.xx.demo.controller #包名
  title: 标题  #标题
  description: 项目文档 #描述
  version: v1.0  #版本号

4.在controller里使用

@api(tags = {"测试类"})
@restcontroller
@requestmapping("/test")
public class testcontroller {
    @apioperation(value = "测试方法")
    @getmapping("/xrx")
    public string xrx() {
        return "hello";
    }
}

5.访问swagger

http://localhost:8080/swagger-ui.html
http://localhost:8080/doc.html

到此这篇关于spring boot配置 swagger的示例代码的文章就介绍到这了,更多相关spring boot配置 swagger内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!