You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已添加Swagger Maven依赖却无法导入@ApiParam或@ApiModel注解

问题根因

你当前引入的是 Swagger 3(OpenAPI 3规范) 的swagger-annotations 2.x版本依赖,@ApiParam、@ApiModel属于Swagger 1.x/2.x版本的旧注解,在Swagger 3中已经被重构重命名,因此无法在现有依赖中找到对应类。

解决方案

无需新增额外依赖,直接使用Swagger 3中对应的等效新注解即可:

  • 原Swagger2的@ApiModel(用于标注接口返回/请求实体类)替换为@Schema,导入语句如下:
import io.swagger.v3.oas.annotations.media.Schema;
  • 原Swagger2的@ApiParam(用于标注接口请求参数)替换为@Parameter,导入语句如下:
import io.swagger.v3.oas.annotations.Parameter;

使用示例

// 实体类标注示例
@Schema(description = "用户登录请求参数")
public class UserLoginReq {
    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "zhangsan")
    private String username;
    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    private String password;
}

// 接口参数标注示例
@Operation(summary = "根据用户ID查询用户信息")
@ApiResponses(value = {
        @ApiResponse(responseCode = "200", description = "查询成功"),
        @ApiResponse(responseCode = "404", description = "用户不存在")
})
public UserVO getUserById(@Parameter(description = "用户ID", required = true) @PathVariable Long id) {
    // 业务逻辑实现
}

补充说明

如果你的项目是Spring Boot技术栈,推荐直接引入springdoc-openapi相关starter依赖,会自动适配所有Swagger3注解,无需单独引入swagger-annotations包,配置更简洁。


内容的提问来源于stack exchange,提问作者Balázs Börcsök

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 05:18:00