基于Pydantic封装的通用模型在API请求验证中的应用
引言
Pydantic 是一个用于数据验证和解析的流行库,经常被用于 FastAPI 和其他现代 Python 项目中。在处理 API 请求时,我们经常需要对请求参数进行有效性检查,例如日期范围、分页和排序等。在本文中,我们将介绍如何在 Pydantic 中使用 Mixin 和组合模式来实现这些功能,并讨论它们的优缺点。
通用model
首先,我们定义了以下几个基础的 Pydantic 模型:
DateModel
:用于表示日期范围,包含开始日期和结束日期。OrderModel
:用于表示排序参数,包含排序字段和排序方式(升序或降序)。PageModel
:用于表示分页参数,包含页码和每页数量。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @author: hui