# Pydantic 验证错误：响应字段 'name' 期望字符串类型

- **ID:** `python/fastapi-response-model-serialization-error`
- **领域:** python
- **类别:** type_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

FastAPI 路径操作返回的数据类型与响应模型不匹配

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.9 | active | — | — |
| 3.10 | active | — | — |

## 解决方案

1. **确保返回数据与模型一致** (95% 成功率)
   ```
   class Item(BaseModel):
    name: str
@app.get('/item', response_model=Item)
def get():
    return Item(name='test')
   ```
2. **使用 response_model_exclude_unset** (90% 成功率)
   ```
   @app.get('/item', response_model=Item, response_model_exclude_unset=True)
def get():
    return {'name': 'test'}
   ```

## 无效尝试

- **禁用响应模型验证** — 失去了类型安全性 (70% 失败率)
- **返回原始字典而不使用模型** — 文档生成可能出错 (60% 失败率)
