@ApiModel
和 @ApiModelProperty
是 Swagger(也称为 OpenAPI)框架中的注解,用于描述 RESTful API 的模型和数据结构。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
@ApiModel
@ApiModel
注解用于描述一个模型类(通常是 Java 中的 POJO)的整体信息,比如名称、描述等。它通常用在类上。
示例:
import io.swagger.annotations.ApiModel;
@ApiModel(value = "User", description = "用户模型")
public class User {
// ...
}
在这个例子中,User
类被标记为一个 Swagger 模型,其名称是 "User",描述是 "用户模型"。
@ApiModelProperty
@ApiModelProperty
注解用于描述模型类中的一个字段的信息,比如名称、描述、是否必须等。它通常用在类的字段上。
示例:
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel(value = "User", description = "用户模型")
public class User {
@ApiModelProperty(value = "用户名", required = true)
private String username;
@ApiModelProperty(value = "密码", required = true, hidden = true) // hidden 设置为 true 将在 Swagger UI 中隐藏该字段
private String password;
@ApiModelProperty(value = "邮箱", example = "example@example.com")
private String email;
// ... getters, setters, etc.
}
在这个例子中,User
类有三个字段:username
、password
和 email
。每个字段都使用 @ApiModelProperty
注解进行了描述。username
和 password
被标记为必填字段(required = true
),而 email
字段有一个示例值(example = "example@example.com"
)。此外,password
字段还被设置为在 Swagger UI 中隐藏(hidden = true
)。
注意事项
- 这些注解通常与 Spring Boot 和 Swagger 集成使用,以自动生成 API 文档。
- 要使这些注解生效,你需要在项目中引入 Swagger 的相关依赖,并配置 Swagger。
- 这些注解只是用于描述和生成文档,不会影响实际的代码逻辑。
- 你可以使用 Swagger UI 来查看和测试生成的 API 文档。