FastAPI 中 Pydantic 数据验证与依赖注入全解析
1. Pydantic 自定义数据验证
在实际项目里,往往需要为特定情形添加自定义验证逻辑。Pydantic 允许通过定义验证器来实现这一点,这些验证器可以在字段级别或对象级别应用。
1.1 字段级别验证
这是最常见的情况,即为单个字段设置验证规则。在 Pydantic 中定义字段级别验证规则,需在模型上编写一个静态方法,并使用 validator 装饰器进行装饰。
from datetime import date
from pydantic import BaseModel, validator
class Person(BaseModel):
first_name: str
last_name: str
birthdate: date
@validator("birthdate")
def valid_birthdate(cls, v: date):
delta = date.today() - v
age = delta.days / 365
if age > 120:
raise ValueError("You seem a bit too old!")
return v
Pydantic 对这个方法有两个要求:
- 若根据逻辑判断值无效,应抛出带有明确错误信息的 ValueError
超级会员免费看
订阅专栏 解锁全文
504

被折叠的 条评论
为什么被折叠?



