我有一个名为 POST /account 的端点。请求主体验证和字段根据租户而变化。租户信息在标头中传递。
Tenant1 的请求正文示例
{
"account_id": "1234_56", // Value to be String
"account_name": "abcd"
}
Tenant2 的请求正文示例
{
"account_id": 1234, // Value to be Integer
"account_name": "abcd",
"created_date": "DD/MM/YYYY" // This doesn't exist in Tenant1's body
}
我们如何为同一个端点声明不同的 BaseModel 类?
我们如何使用基于租户标头的 pydantic 来处理请求正文的验证?
我们怎样才能以不同的方式展示这一点?
尝试在 BaseModel 中将
created_date
设置为可选,如下所示
class Tenant(BaseModel):
account_id: str
account_name:str
created_date: Optional[date] = None