1,导入依赖
<!--集成了 Knife4j,是一个用于生成和展示 API 文档的工具,基于 Swagger(OpenAPI)标准,使得 API 文档更加直观、易于理解-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
2,常用注解以及基本使用
@Api:
作用:用于标记一个类,表示这是一个 API 接口。
使用示例:
@Api(tags = "用户管理接口")
public interface UserApi {
// ...
}
@ApiOperation:
作用:用于描述 API 接口的方法,提供方法的简要描述。
使用示例:
@ApiOperation(value = "获取用户信息", notes = "根据用户ID获取用户详细信息")
@GetMapping("/user/{id}")
User getUser(@PathVariable("id") Long id);
@ApiParam
作用:用于描述 API 方法的参数。
使用示例:
@ApiOperation(value = "根据ID删除用户")
@DeleteMapping("/user/{id}")
void deleteUser(@ApiParam(value = "用户ID", required = true) @PathVariable Long id);
@ApiModel 和 @ApiModelProperty:
作用:@ApiModel 用于描述一个模型(通常是一个 Java Bean),而 @ApiModelProperty 用于描述模型中的属性。
使用示例:
@ApiModel(value = "用户信息", description = "用户实体")
public class User {
@ApiModelProperty(value = "用户ID", required = true)
private Long id;
// 其他属性和方法
}
@ApiIgnore:
作用:用于忽略某个方法或类,不将其包含在 API 文档中。
使用示例:
@ApiIgnore
@PostMapping("/admin")
String adminAction();
3,配置文件
# Knife4j 配置
knife4j:
enable: true # 是否开启Knife4j,设置为true表示开启
openapi:
title: 商城接口文档 # 接口文档的标题
description: "商城接口文档" # 接口文档的描述
email: 26340534942@qq.com # 联系邮箱
concat: 涵哥 # 联系人姓名
url: https://www.baidu.com/ # 联系人网站
version: v1.0.0 # 接口文档的版本
group:
default:
group-name: default # 接口分组的默认组名称
api-rule: package # 接口规则,此处表示按照包名进行规则分类
api-rule-resources: # 针对每个资源(包)的规则配置
- com.hg.controller # 指定包路径,表示这个包下的接口将按照规则分类
这个配置的作用是告诉 Knife4j 如何生成接口文档,包括文档的基本信息、联系人信息、版本等。其中
api-rule
部分表示按照包名进行规则分类,这样可以更有组织地展示接口。api-rule-resources
部分指定了哪些包下的接口需要按照规则分类。注意:这个配置是一个 YAML 配置文件,它的格式对缩进和空格非常敏感。确保缩进正确,不要使用制表符,而应该使用空格。
注意:上面的api-rule-resources记得指定你自己的controller层
我的controller层
@RestController
@Api(tags="商品管理") //用在类上
public class TestController {
@GetMapping("/")
@ApiOperation("测试接口") //用在方法上
public String get(){
return "没问题";
}
}
4,启动项目
说明:因为我的端口是8080,所以直接访问http://localhost:8080/doc.html
ok,就这么简单。
内容到这里就结束了,喜欢的博主的可以关注一波,每日都会分享编程知识!大家一起进步!