python data_error ai_generated true

FastAPI 响应验证错误:响应值不是有效的字典(类型=类型错误.字典)

fastapi.exceptions.ResponseValidationError: 1 validation error for Response\nvalue is not a valid dict (type=type_error.dict)

ID: python/fastapi-response-model-validation-error

其他格式: JSON · Markdown 中文 · English
80%修复率
85%置信度
0证据数
2025-04-01首次发现

版本兼容性

版本状态引入弃用备注
3.x active

根因分析

响应模型与返回的数据类型不匹配。

English

响应模型与返回的数据类型不匹配。

generic

解决方案

  1. 90% 成功率
    from pydantic import BaseModel\nclass Item(BaseModel):\n    name: str\n    price: float\[email protected]('/items/{id}', response_model=Item)\nasync def get_item(id: int):\n    return {'name': 'Foo', 'price': 10.5}
  2. 85% 成功率
    app.get('/items', response_model=Item, response_model_exclude_unset=True)

无效尝试

常见但无效的做法:

  1. 60% 失败

    可能丢失数据或引发其他错误。

  2. 70% 失败

    失去 API 文档和验证优势。