Swagger
配置文件:
package com.cb.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Swagger配置类
*/
@Configuration
//@EnableOpenApi
@EnableSwagger2
public class SwaggerConfig {
// @Bean
// public Docket docket() {
// return new Docket(DocumentationType.OAS_30)
// .apiInfo(apiInfo()).enable(true)
// .select()
// //apis: 添加swagger接口提取范围
// .apis(RequestHandlerSelectors.basePackage("com.cb.controller"))
// //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// .paths(PathSelectors.any())
// .build();
// }
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//apis: 添加swagger接口提取范围
.apis(RequestHandlerSelectors.basePackage("com.cb"))
//.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("XX项目接口文档")
.description("XX项目描述")
.contact(new Contact("作者", "作者URL", "作者Email"))
.version("1.0")
.build();
}
}
1. ApiOperation 注解
我们就需要给接口(requestMapper)添加一些具体的描述信息。
ApiOperation 注解主要属性汇总
属性名称 | 属性类型 | 默认值 | 作用 |
---|---|---|---|
value() | String | 空 | 接口说明 |
tags() | String[] | 空 | 定义接口分组 |
notes() | String | 空 | 接口详细说明 |
2. Api 注解详解
Api 注解是作用在接口类上面的注解,其主要是用来给接口类定义相关说明。
Api 注解主要属性汇总
属性名称 | 属性类型 | 默认值 | 作用 |
---|---|---|---|
value() | String | 空 | 接口类说明 |
tags() | String[] | 空 | 定义接口类所属分组(用这个就行了,用来接口的描述) |
description() | String | 空 | 定义接口类的简单描述 |
3. ApiParam 注解
ApiParam 注解,是可以作用在接口方法上面,以及接口方法中的参数位置的注解,其主要是用来给接口中的参数定义相关参数说明,主要是为了,帮助相关人员理解接口中每个参数的含义。
ApiParam 注解主要属性汇总
属性名称 | 属性类型 | 默认值 | 作用 |
---|---|---|---|
name() | String | 空 | 定义参数名称 |
value() | String | 空 | 定义参数简单描述 |
defaultValue | String | 空 | 定义参数默认值 |
4. ApiModel 和 ApiModelProperty 注解详解
- ApiModel 注解是作用在接口相关实体类上的注解,用来对该接口相关实体类添加额外的描述信息,常常和 @ApiModelProperty 注解配合使用。
- ApiModelProperty 注解是作用在接口相关实体类的参数上的注解,用来对具体的接口相关实体类中的参数添加额外的描述信息,常常和 @ApiModel 注解关联使用,有时也会单独拿出来用。
注解主要属性汇总
ApiModel 注解
属性名称 | 属性类型 | 默认值 | 作用 |
---|---|---|---|
value() | String | 空 | 自定义类的名称 |
description() | String | 空 | 为类添加长文本描述信息 |