1,Knife4j简介
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,它封装了swagger。前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!
官方文档:doc.xiaominfo.com/
2,SpringBoot集成Knife4j
1,在pom文件中引入knife4j依赖
# 注:knife4j中包含了swagger,只需这一个依赖就行
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
2,添加配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean(value = "defaultApi2")
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("SwaggerGroupOneAPI")
//是否开启(生产环境建议隐藏)
.enable(true)
.select()
//为当前包下controller生成API文档
.apis(RequestHandlerSelectors.basePackage("com.xybian.mall.tiny.controller"))
//为有@Api注解的Controller生成API文档
// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
//为有@ApiOperation注解的方法生成API文档
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SwaggerUI演示")
.description("mall-tiny")
.version("1.0")
.build();
}
}
3,访问
以上就整合了knife4j,可以访问
4,注意
若出现这个问题,解决办法:
- 法一:在 application.yml 中添加
- 法二:降低springboot的版本,降到 2.5.X