SpringBoot 集成 Swagger2

2020-08-12  本文已影响0人  greedycr7

Swagger2

1. Swagger 简介

Swagger是非常流行的API管理工具,支持整个API的生命周期,包括API设计、开发及测试。

2. 集成 Swagger2

2.1 添加依赖

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.7.0</version>
</dependency>

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.7.0</version>
</dependency>

2.2 编写Swagger2配置类

@Configuration
@EnableSwagger2
public class Swagger2 {
    // 控制开关
    @Value("${swagger.show}")
    private boolean swaggerShow;
    
    public Docket createUserApi() {
        return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.greedy.web.task"))
            .paths(PathSelectors.any())
            .build()
            .groupName("task")
            .enable(swaggerShow);
    }
    
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("STARK API")
            .description("接口文档")
            .termsOfServiceUrl("/")
            .version("v1.0")
            .build();
    } 
}

方法说明

3. Swagger相关注解

(1) @Api 注解
作用在类上,用来描述Controller的作用,同一个Controller下的API作为一个分组
常用属性:

(2) @ApiOperation 注解
作用在方法上,用来描述API接口
常用属性:

(3) @ApiImplicitParam 注解
作用在方法上,用来描述单个参数的信息
常用属性:

(4) @ApiImplicitParams 注解
作用在方法上,用来描述多个参数的信息,属性类型为@ApiImplicitParam注解的数组

(5) @ApiIgnore 注解
作用在类上、方法上、参数上,用来忽略API接口或者接口的参数

(6) @ApiModel 注解
作用在JavaBean上,表示用对象来接收参数
常用属性:

(7) @ApiProperty 注解
作用在JavaBean的属性上,用来描述对象的字段
常用属性:

上一篇下一篇

猜你喜欢

热点阅读