# FastAPI响应验证错误：响应模型验证失败：字段'email'不是有效的电子邮件地址

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

## 根因

FastAPI响应数据不符合响应模型中的验证规则

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.x | active | — | — |

## 解决方案

1. **确保数据符合模型验证规则** (95% 成功率)
   ```
   from pydantic import EmailStr
class UserOut(BaseModel):
    email: EmailStr
user = UserOut(email='valid@example.com')
   ```
2. **使用response_model_exclude_unset选项** (85% 成功率)
   ```
   @app.get('/user', response_model=UserOut, response_model_exclude_unset=True)
   ```

## 无效尝试

- **在响应模型中移除验证规则** — 移除验证会降低数据质量 (50% 失败率)
- **使用try-except捕获响应错误** — 验证在响应发送前执行，无法在应用层捕获 (40% 失败率)
