当前位置: 代码网 > it编程>编程语言>Java > SpringDoc OpenAPI 3 常用注解使用方法

SpringDoc OpenAPI 3 常用注解使用方法

2026年04月07日 Java 我要评论
springdoc / openapi 3 最常用注解,适配 spring boot 4 + springdoc-openapi 3.x,直接复制就能用。一、核心常用注解(必掌握)1.@tag作用:给

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 注解内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com