SpringBoot整合knife4j
SpringBoot整合knife4j
前言:
Swagger现在已经成了最流行的接口文档生成与管理工具,但是你是否在用的时候也在吐槽,它是真的不好看,接口测试的json数据没法格式化,测试地址如果更改了还要去改配置,接口测试时增加token验证是真的麻烦…等等,拿什么拯救你,swagger同学!
针对Swagger的种种缺点,Knife4j就呼之欲出了。
二、插件的特点
1、非常简洁清爽的UI设计,接口的快速搜索。
2、支持个性化设置,个性化设置包含:
请求参数缓存
动态请求参数
RequestMapping接口过滤
HOST代理设置
3、全局参数设置,可以很方便的设置Token等权限认证参数。
4、离线API文档下载:
Markdown(已支持)
Html(已支持)
Word(已支持)
OpenApi(已支持)
5、对 json 格式的数据有更好的支持,可以折叠展开等。
注解详谈:https://www.cnblogs.com/liuyangfirst/p/13195122.html
knife4j官方文档地址 : https://doc.xiaominfo.com/knife4j/
导入pom依赖
<!--lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.2</version>
</dependency>
/**
* 访问地址 http://127.0.0.1:2888/doc.html
*/
@Configuration
@EnableSwagger2
@EnableKnife4j
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.apiInfo(apiInfo())
.select()
//方式一: 配置扫描 所有想在swagger界面的统一管理接口。都必须在此包下
//.apis(RequestHandlerSelectors.basePackage("com.baozun.dma.collection.delivery.controller"))
//方式二: 只有当方法上有 @ApiOperation 注解时才能生成对应的接口文档
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Knife4j APIs")
.description("swagger-bootstrap-ui")
.termsOfServiceUrl("http://localhost:2888/")
.version("1.0")
.build();
}
}
/**
* 数据关系投递Controller
* @author: wys
* @create: 2021-05-08 14:20
**/
@Api(value = "数据关系投递接口", tags = "数据关系投递接口")
@RestController("/MappingRelation")
public class MappingRelationController {
@Autowired
private MappingRelationManager mappingRelationManager;
@GetMapping("/findList")
@ApiOperation(value = "查看数据关系", tags = "数据关系投递接口")
public List<MappingRelationManager> findList(){
List<MappingRelationManager> list = mappingRelationManager.ListMappingRelation();
return list;
}
}
访问路径:http://127.0.0.1:2888/doc.html