FastApi学习(三) Pydantic 做类型强制检查
2021-03-08 07:27
标签:使用 fast 必须 article art gnu tps amp 代码 FastAPI 基于 对于 API 服务,支持类型检查非常有用,会让服务更加健壮,也会加快开发速度,因为开发者再也不用自己写一行一行的做类型检查。 我们用纯粹的,经典的Python来定义数据,用Pydantic来校验数据。 官方文档地址:https://pydantic-docs.helpmanual.io/ 观察到: 使用 User 类: 执行代码,验证是否符合预期。 参考文章:https://cloud.tencent.com/developer/article/1593589 更复杂的使用和例子应该参考官方文档。 FastApi学习(三) Pydantic 做类型强制检查 标签:使用 fast 必须 article art gnu tps amp 代码 原文地址:https://www.cnblogs.com/mazhiyong/p/12808825.htmlPydantic
,Pydantic
主要用来做类型强制检查。参数赋值,不符合类型要求就会抛出异常。一、安装
pip install pydantic
二、使用
from pydantic import ValidationError
from datetime import datetime
from typing import List
from pydantic import BaseModel
class User(BaseModel):
id: int
name = ‘jack guo‘
signup_timestamp: datetime = None
friends: List[int] = []
try:
User(signup_timestamp=‘not datetime‘, friends=[1, 2, 3, ‘not number‘])
except ValidationError as e:
print(e.json())
id
没有默认值,按照预期会报缺失的异常signup_timestamp
被赋为非 datetime 类型值,按照预期会报异常friends
索引为 3 的元素被赋值为 str,按照预期也会报异常[
{
"loc": [
"id"
],
"msg": "field required",
"type": "value_error.missing"
},
{
"loc": [
"signup_timestamp"
],
"msg": "invalid datetime format",
"type": "value_error.datetime"
},
{
"loc": [
"friends",
3
],
"msg": "value is not a valid integer",
"type": "type_error.integer"
}
]
上一篇:FastApi学习
下一篇:C#.NET重点知识点汇总(一)
文章标题:FastApi学习(三) Pydantic 做类型强制检查
文章链接:http://soscw.com/index.php/essay/61708.html