fastapi basemodel
时间: 2023-10-04 10:04:05 浏览: 116
FastAPI BaseModel 是一个基于 Pydantic 的模型类,它可以用来定义数据模型和验证输入数据。BaseModel 通常用于 FastAPI 的请求数据模型和响应数据模型的定义。
BaseModel 具有以下特点:
1. 类型注解:使用类型注解定义字段类型。
2. 数据验证:使用 Pydantic 内置的验证器对输入数据进行验证。
3. 默认值:可以为字段指定默认值。
4. 嵌套模型:可以使用其他 BaseModel 类型来定义嵌套的模型。
5. 序列化与反序列化:可以将模型实例序列化成 JSON 字符串或从 JSON 字符串反序列化成模型实例。
下面是一个使用 BaseModel 定义请求数据模型的示例:
```python
from typing import List
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
class Order(BaseModel):
items: List[Item]
total_price: float
```
在上面的示例中,我们定义了两个 BaseModel 类型:Item 和 Order。Item 类型用来表示一个商品,包括商品名称、价格和是否有优惠。Order 类型用来表示一个订单,包括若干个商品和订单总价。
使用 BaseModel 定义数据模型可以让我们在编写 FastAPI 的路由函数时,更加方便地处理请求数据和响应数据。
阅读全文