springdoc / openapi 3 最常用注解,适配 spring boot 4 + springdoc-openapi 3.x,直接复制就能用。
一、核心常用注解(必掌握)
1.@tag
作用:给 controller / 接口模块 打标签,用于分组显示。
@restcontroller
@requestmapping("/user")
@tag(name = "用户管理模块", description = "用户的增删改查接口")
public class usercontroller {
}
效果:swagger ui 左侧会显示一个分组:用户管理模块
2.@operation
作用:描述单个接口方法,相当于接口说明。
@operation(
summary = "根据id查询用户",
description = "传入用户id,返回用户详细信息",
tags = {"用户管理模块"}
)
@getmapping("/{id}")
public user getuser(@pathvariable long id) {
}
常用属性:
summary:接口简短说明description:详细描述tags:归属分组method:请求方法(一般不用写,自动识别)hidden:是否隐藏接口
3.@parameter
作用:描述路径参数 / 查询参数。
@getmapping("/{id}")
public user getuser(
@parameter(description = "用户id", required = true, example = "1001")
@pathvariable long id
) {
}
常用属性:
description:参数说明required:是否必填example:示例值hidden:隐藏参数
4.@apiresponse/@apiresponses
作用:定义接口响应状态码与说明。
@operation(...)
@apiresponses({
@apiresponse(responsecode = "200", description = "查询成功"),
@apiresponse(responsecode = "404", description = "用户不存在"),
@apiresponse(responsecode = "500", description = "服务器异常")
})
@getmapping("/{id}")
public user getuser(@pathvariable long id) {
}
二、实体类常用注解
5.@schema
作用:描述dto、实体类、字段的含义、示例、约束。
用在类上
@schema(description = "用户信息实体")
public class user {
}
用在字段上
@schema(description = "用户id", example = "1001") private long id; @schema(description = "用户名", requiredmode = schema.requiredmode.required) private string username;
常用属性:
description:字段说明example:示例requiredmode:是否必填hidden:隐藏字段minlength / maxlength:长度限制format:格式(password、email 等)
三、实用增强注解
6.@hidden
作用:隐藏某个接口、类、字段,不在 swagger 显示。
@hidden
@getmapping("/internal")
public void internalapi() {
}
7.@parameters
多个参数统一包裹(不常用,一般直接每个参数加 @parameter)
8.@requestbody搭配 openapi
springdoc 会自动识别 @requestbody,你只需要给 dto 加 @schema 即可。
四、完整示例(可直接复制)
@restcontroller
@requestmapping("/user")
@tag(name = "用户管理模块", description = "用户相关接口")
public class usercontroller {
@operation(
summary = "根据id查询用户",
description = "根据用户唯一id查询用户详情"
)
@apiresponses({
@apiresponse(responsecode = "200", description = "成功"),
@apiresponse(responsecode = "404", description = "用户不存在")
})
@getmapping("/{id}")
public user getuser(
@parameter(description = "用户id", required = true, example = "1001")
@pathvariable long id
) {
return new user();
}
}@schema(description = "用户信息")
public class user {
@schema(description = "用户id", example = "1001")
private long id;
@schema(description = "用户名", requiredmode = schema.requiredmode.required)
private string username;
}五、访问地址
启动后访问:
http://localhost:端口/swagger-ui.html
(注:文档部分内容由 ai 生成)
到此这篇关于springdoc openapi 3 常用注解使用方法的文章就介绍到这了,更多相关springdoc openapi 3 注解内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论