Knife4j是一款集Swagger 2及OpenAPI 3为一体的API文档增强工具,在Spring Boot 3中,由于Spring Boot 3仅支持OpenAPI 3规范,并且要求JDK版本至少为17,因此配置方式与旧版本有所不同。
📊 注解差异对比总览
| 注解用途 | Spring Boot 2.x (Swagger 2 注解) | Spring Boot 3.x (OpenAPI 3 注解) | 说明 |
|---|---|---|---|
| 描述Controller类 | @Api(tags = "用户接口") |
@Tag(name = "用户接口") |
用于对接口进行分组。注意:OpenAPI 3 的 @Tag 不能替换 Swagger 2 的 @Api,因为它们作用不同。 |
| 描述接口方法 | @ApiOperation("获取用户") |
@Operation(summary = "获取用户", description = "...") |
描述接口的具体信息。 |
| 描述响应 | @ApiResponse(code = 200, message = "成功") |
@ApiResponse(responseCode = "200", description = "成功") |
注意属性名从 code 变为了 responseCode。 |
| 描述请求参数 | @ApiParam("用户ID") |
@Parameter(description = "用户ID") |
用于描述 @RequestParam, @PathVariable 等参数。 |
| 描述模型(实体类) | @ApiModel("用户实体") |
@Schema(description = "用户实体") |
在类上使用。 |
| 描述模型属性 | @ApiModelProperty("用户名") |
@Schema(description = "用户名") |
2025/11/30大约 12 分钟
