1、引入pom
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
2、增加swagger3配置文件
@Configuration
public class Swagger3Config {
@Bean
public Docket createRestApi(Environment env) {
//设置要暴漏接口文档的配置环境
Profiles profile = Profiles.of("prod");
boolean flag = env.acceptsProfiles(profile);
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
// 定义是否开启swagger,false为关闭,可以通过变量控制
.enable(!flag) //生产环境不开启
.select()
// .apis(RequestHandlerSelectors.any())
.apis(RequestHandlerSelectors.withMethodAnnotation(Operation.class))
.paths(PathSelectors.any())
.build();
}
/**
* API 页面上半部分展示信息
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("xxxApi Doc")
.description("xxx接口文档")
.version("v1.0")
.build();
}
}
3、Controller使用
@Api(tags="命令组API")
public class CmdGroupController{
/**
* 分页查询命令组
*/
@PostMapping(value = "listXX")
@Operation(summary = "分页查询XX")
public Result<PageInfo> listXX(@RequestHeader @NotBlank(message = "token不能为空") String token,
@RequestBody @Valid ListXXReq input){
@Data
public class ListReq {
@Schema(description = "描述")
private String des;
}
}
}