前言
之前说过集成swagger文档,当时用的是swagger,今天介绍一个跟它类似,但是比他的页面更加精美,功能更加强大的一个项目在线接口文档, knife4j—小刀
一、集成knife4j
- 创建一个springboot项目
- 引入对应版本的knife4j
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
</dependency>
spring-boot.version 3.0.3
knife4j.version 4.0.0
其他版本也可以,可以自己试试
二、配置knife4j
1.新增配置文件
Swagger3Config.java
/**
* 文档配置
* <a href="https://doc.xiaominfo.com/">swagger</a>
*
* @author fulin
*/
@Configuration
public class Swagger3Config {
/**
* 根据 @Tag 上的排序,写入x-order
*
* @return the global open api customizer
*/
@Bean
public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() {
return openApi -> {
if (openApi.getTags() != null) {
openApi.getTags().forEach(tag -> {
Map<String, Object> map = new HashMap<>();
map.put("x-order", RandomUtil.randomInt(0, 100));
tag.setExtensions(map);
});
}
if (openApi.getPaths() != null) {
openApi.addExtension("x-test123", "333");
openApi.getPaths().addExtension("x-abb", RandomUtil.randomInt(1, 100));
}
};
}
@Bean
public OpenAPI customOpenApi() {
return new OpenAPI()
.info(new Info()
.title("****")
.version("v1.0")
.description("API 文档")
);
}
}
2. yml配置
# springdoc-openapi 项目配置
springdoc:
swagger-ui:
path: /swagger-ui.html
tags-sorter: alpha
operations-sorter: alpha
api-docs:
path: /v3/api-docs
group-configs:
- group: '所有'
paths-to-match: '/**'
packages-to-scan: com.**
效果大概就是酱紫的~~
总结
knife4j 的文档确实要比swagger文档看起来好看很多,而且高版本的knife4j还有个非常强大的功能,对于前端来说非常好;
- 粘贴过去就可以了
- 离线文档各种格式