常见类型示例
示例代码
| |
说明
在 FastAPI 中,使用 Pydantic 模型来定义和验证数据是一种常见的做法。
MyDataTypes 模型展示了如何在 FastAPI 中使用多种数据类型,包括一些基本类型和几种特殊的数据类型。
以下是对这个模型中每个字段的描述,特别强调了那些非通用或特殊的数据类型:
name: 字符串类型 (str),通过随机选择 ‘Alice’, ‘Bob’, ‘Charil’ 中的一个来赋值。
age: 整数类型 (int),其值是 18 到 80 之间的随机整数。
price: 浮点数类型 (float),通过随机生成的方式计算得到,展示了如何使用随机数来生成浮点数。
is_active: 布尔类型 (bool),默认值为 False。
url: 特殊类型 HttpUrl,这是 Pydantic 提供的一种类型,用于确保字段值是有效的 HTTP URL。在这里,URL 是通过随机字符生成的。
email: 特殊类型 EmailStr,同样是 Pydantic 提供的类型,用于验证字符串是否为有效的电子邮件地址。默认值设置为 ’test@example.com’。
unique_id: 特殊类型 UUID,代表通用唯一标识符,这里使用了一个全零的示例 UUID。
start_datetime: datetime 类型,表示日期和时间,这里默认值为模型实例化的当前时间。
date_value: date 类型,仅表示日期,这里默认值为模型实例化的当天日期。
process_after: 特殊类型 timedelta,表示时间间隔,这里通过随机数生成一个时间间隔,展示了如何表示从现在起一定时间后的时间点。
repeat_at: time 类型,仅表示时间(不包括日期),这里的值是通过随机数生成的具体时间点。
这个模型不仅展示了如何在 FastAPI 中使用各种常见和特殊的数据类型,还通过默认值的设置展示了如何利用 Python 的标准库和 Pydantic 的功能来生成和验证复杂的数据结构。
这种模型定义在实际应用中非常有用,特别是在需要处理多种数据类型和确保数据有效性时。
生成文档
