knife4j测试接口(生成接口文档)
目录
为什么要使用knife4j
🏇🏼1.自动生成API文档:Knife4j 可以根据接口文档自动生成 API 文档,减少手动编写文档的工作量,提高效率。
2.界面美观:Knife4j 的界面美观、简洁,易于使用,友好的交互设计和操作方式让开发者更加舒适、高效地使用。
3.支持多种注解:Knife4j 支持多种注解,如 Swagger、Javadoc、Jax-rs 等,提供了丰富的 API 文档展示和描述功能。
4.功能强大:Knife4j 可以实现接口测试、接口调用、参数验证等多种功能,提高开发效率和质量。
5.易于集成:Knife4j 可以方便地集成到 Spring Boot 项目中,无需额外的配置,也可以集成到其他框架中。
6.支持多语言:Knife4j 支持多语言,可以根据用户的语言环境自动切换语言,提供更好的用户体验。
7.开源免费:Knife4j 是一个开源免费的项目,可以自由使用和修改,没有任何限制。
knife4j和swagger的关系
🚴🏼♂️Knife4j 是基于 Swagger 的增强工具,它是基于 Swagger2 的增强版,提供了更加友好的界面和更多的功能。
Swagger 是一个开源的 API 文档工具,它可以生成 API 文档和客户端 SDK。Swagger2 是 Swagger 的第二个版本,它支持多种编程语言和框架,提供了强大的 API 描述和文档功能。
Knife4j 是在 Swagger2 的基础上进行了增强,它可以自动生成 API 文档、提供更多的可视化功能、支持多语言和多种注解等。Knife4j 可以方便地集成到 Spring Boot 项目中,并且可以自定义界面和样式,提供更好的用户体验。
因此,Knife4j 和 Swagger 是有关系的,Knife4j 可以看作是 Swagger 的增强版,它提供了更加丰富的功能和更好的用户体验。
1.添加pom依赖:
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
2.添加字段注解:
Knife4j 可以根据接口文档自动生成 API 文档,减少手动编写文档的工作量,提高效率。
但是需要我们在实体类中来定义注解!!!
在每个字段(实体类)上添加此注解:
@Schema(description = "注解")
例子:
@Data
@Schema(description = "快递100快递信息表")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LogExpress {
@Schema(description = "单号")
private String nu;
@Schema(description = "快递单当前状态")
private String state;
@Schema(description = "是否签收标记")
private String ischeck;
@Schema(description = "快递公司编码,一律用小写字母")
private String com;
@Schema(description = "出发位置")
private Integer from;
@Schema(description = "当前位置")
private Integer cur;
@Schema(description = "收货地")
private Integer to;
@Schema(description = "轨迹地图链接")
private String trailUrl;
@Schema(description = "预计到达时间")
private String arrivalTime;
@Schema(description = "平均耗时")
private String totalTime;
@Schema(description = "到达还需多少时间")
private String remainTime;
}
3.访问knife4j测试的网页:
在本地测试地址:
127.0.0.1:需要测试的端口/doc.html
选择某个接口,复制接口文档(复制即用):
不用再花费时间整理接口文档了,特别方便,所以养成一个使用knife4j的习惯,搭建项目接口时,提前在每个实体类里加上注解