@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。

相关推荐
开开心心_Every8 分钟前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
萧瑟余晖1 小时前
Spring Batch核心模型与快速上手详解
java·spring·batch
缓慢更新1 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
LMT流氓兔3 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
wangbing11254 小时前
平台介绍-modbus设备调试
java
西索斯coding5 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
wuminyu5 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
Flynn Liang5 小时前
大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图
java·人工智能·spring·agent·函数调用·springai·toolcalling
乌暮6 小时前
请求进门先安检:Spring 拦截器与统一功能实战指南
java·开发语言·后端·学习·spring
学长毕设7 小时前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端