# FastAPI请求验证错误：缺少必需字段：'name'

- **ID:** `python/fastapi-request-body-missing`
- **领域:** python
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

请求体中缺少Pydantic模型定义的必需字段

## 版本兼容性

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

## 解决方案

1. **在请求中包含所有必需字段** (95% 成功率)
   ```
   {"name": "John", "age": 30}
   ```
2. **在模型中将字段设为可选并设置默认值** (90% 成功率)
   ```
   class Item(BaseModel):
    name: str = 'default'
   ```

## 无效尝试

- **在路由函数中使用默认参数** — Pydantic模型验证在路由函数之前执行 (60% 失败率)
- **修改模型字段为可选但保留验证** — 字段变为可选后，缺少时不会报错但可能逻辑错误 (40% 失败率)
