@ApiModel注解升级成@Schema注解

@ApiModel 和 @ApiModelProperty 是 Swagger 2 (即 springfox-swagger)中的注解。

在升级到 Springfox 3.0.0 或迁移到 SpringDoc OpenAPI (springdoc-openapi)时,这些注解发生了变化:

✅ 升级后的注解(使用 SpringDoc OpenAPI / OpenAPI 3)

Swagger 2 (Springfox) SpringDoc OpenAPI (OpenAPI 3)
@ApiModel @Schema
@ApiModelProperty @Schema

📌 用法对比

Swagger 2(旧版)
java 复制代码
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(description = "用户信息")
public class User {
    @ApiModelProperty(value = "用户ID", example = "1")
    private Long id;

    @ApiModelProperty(value = "用户名", required = true)
    private String username;
}
SpringDoc OpenAPI(新版)
java 复制代码
import io.swagger.v3.oas.annotations.media.Schema;

@Schema(description = "用户信息")
public class User {
    @Schema(description = "用户ID", example = "1")
    private Long id;

    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String username;
}

🔁 迁移说明

  1. 替换依赖 : 如果从 springfox 迁移到 springdoc,需要移除 springfox-swagger2 和 springfox-swagger-ui,

    xml 复制代码
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        <version>2.8.13</version>
    </dependency>
  2. 替换注解:

    • 所有 @ApiModel → @Schema
    • 所有 @ApiModelProperty → @Schema
    • required = true → requiredMode = Schema.RequiredMode.REQUIRED
  3. 访问地址:

    • Swagger UI 地址从 /swagger-ui.html 变为 /swagger-ui.html(新版路径可能略有不同,通常是 /swagger-ui/index.html)

✅ 总结

目的 旧注解(Swagger 2) 新注解(OpenAPI 3 / SpringDoc)
类说明 @ApiModel @Schema
字段说明 @ApiModelProperty @Schema

所以,@ApiModel 和 @ApiModelProperty 的升级版本注解都是 @Schema。

相关推荐
tiger从容淡定是人生3 分钟前
从 Gemini 的任务示例出发:AI 能否从知识中推导工作流?
java·人工智能·aigc·知识图谱·创业创新·零知识证明
Nebula_g7 分钟前
JavaSE高级:动态代理
java·开发语言·算法·javase
高级程序源14 分钟前
springboot校园外卖平台13676-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·tomcat·maven·课程设计
怦然丶心动22 分钟前
用 Java 把干支历法算清楚:从节气切年到可读摘要
java·算法·vue·独立开发·spring boot / spring
青春逝如流水28 分钟前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
深入云栈29 分钟前
Netty 4.2.x 源码深度解析 (十八):ChannelOutboundBuffer 写缓冲区 —— 发送队列与流量控制
java·后端·架构
我是人✓32 分钟前
Java核心术语与内存机制深度解析
java
xuxigifxfh35 分钟前
面试记录2026
java·mysql·面试·职场和发展
liangbo736 分钟前
04-List 到底该用哪个?ArrayList、LinkedList、Vector、CopyOnWriteArrayList 选型实战
java
Wang's Blog41 分钟前
Java 中间件之 RabbitMQ 快速入门: SpringAMQP WorkQueue 工作队列模型
java·中间件·java-rabbitmq