Fastapi报错RuntimeError: no validator found for <class ‘typing._UnionGenericAlias’>, see `arbitrary_ty
问题描述
使用FastAPI 请求体 - 嵌套模型的时候报错, 不嵌套的时候是可以的
不嵌套校验
class PredictGas(BaseModel):
predict_level: str
predict_day_is_heating_season: bool
predict_type: str = Field(default="area", description="预测类型")
heating_start_date: Union[datetime, date]
heating_end_date: Union[datetime, date]
# Optional可选类型 Optional[X]等价于Union[X, None] int=1等价于Optional[int] = 2 Union[int, float]只能传int float
model: Optional[int] = Field(default=1, title="算法模型id", description="可选不同模型调用", le=2, ge=1)
data: List[dict] = [] # List[dict] = [] 等价于 list = [] # 前者可验证list内部第一层数据结构
其中 Optional可选类型 Optional[X]等价于Union[X, None] int=1等价于Optional[int] = 2 Union[int, float]只能传int float
使用嵌套模型 (其中data是第一层列表字典数据)
其中验证流程是 从外到内层 PredictGas —>>> DataBody ----->>> (PredictParams, PastParams)
class PredictParams(BaseModel):
# is_heating = Optional[bool]
# ts: Union[datetime, date]
# low_temp = Union[int, float]
# low_temp = float
# high_temp = float
# is_heating = bool
ts = date
low_temp: float = 1.0
high_temp: float = 10.0
is_heating: bool =

最低0.47元/天 解锁文章

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



