详解 Java 中的 @Schema 注解
引言
在 RESTful API 开发中,文档是一个重要的环节。借助 Swagger(现更名为 OpenAPI),我们可以通过代码直接生成 API 文档。@Schema 注解就是其中的核心组件,用来描述 API 模型中的字段及其行为。
正文
1. 什么是 @Schema 注解?
1.1 简介
@Schema 是 Swagger 提供的注解,隶属于 OpenAPI 的 io.swagger.v3.oas.annotations.media 包。它用于定义数据模型(Java 类或字段)在 API 文档中的表现形式,包括名称、描述、是否必填、默认值等信息。
1.2 优势
- 直观文档:通过简单的注解,自动生成直观的 API 文档。
- 减少误解:为字段添加描述信息,避免开发者之间的理解偏差。
- 规范开发:为接口定义统一的规则和描述,提升团队协作效率。
2. 使用场景
2.1 数据模型描述
@Schema 通常用于描述类和字段,以便在生成的 API 文档中清晰展示数据结构。
- 类级别:为整个模型提供描述。
- 字段级别:为类中的字段添加详细描述。
2.2 配合其他注解
@Schema 通常与 @RequestBody、@ApiResponse 等注解配合使用,用于构建更完善的 API 文档。
3. 核心配置项
@Schema 提供了多个属性,以下是常见的配置项:
| 属性名 | 类型 | 作用 | 示例 |
|---|---|---|---|
| title | String | 字段或类的标题 | title = "用户信息" |
| description | String | 对字段或类的描述 | description = "用户姓名" |
| example | String | 示例值 | example = "张三" |
| required | boolean | 是否为必填项 | required = true |
| defaultValue | String | 默认值 | defaultValue = "李四" |
| type | Class | 字段的类型 | type = String.class |
4. 示例代码
4.1 基本用法:类和字段的描述
以下代码展示了如何使用 @Schema 为类和字段添加描述:
import io.swagger.v3.oas.annotations.media.Schema;
{
Long id;
String name;
Integer age;
}


