· 约 2 分钟
08-FastAPI基础入门-请求体参数
学习目标
- 理解请求体参数的使用场景
- 学会接收 JSON 请求数据
- 认识 Pydantic 模型在请求体中的作用
核心概念
请求体参数最常见于:
- 新增数据
- 更新数据
- 提交表单式 JSON 数据
在 FastAPI 中,最典型的做法是用 Pydantic 模型接收请求体。
好处:
- 字段更清晰
- 自动校验
- 自动生成文档
代码示例
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class ItemCreate(BaseModel):
name: str
price: float
in_stock: bool = True
@app.post("/items")
def create_item(item: ItemCreate):
return {
"message": "create success",
"item": item.model_dump(),
}
请求示例:
{
"name": "Mechanical Keyboard",
"price": 199.0,
"in_stock": true
}
为什么不用一堆零散参数
如果你把请求体拆成多个独立参数,维护会越来越乱。
用模型接收会有三个好处:
- 字段统一管理
- 校验逻辑集中
- 接口文档更完整
易错点
- 忘记继承
BaseModel - 以为 POST 参数默认都来自请求体,其实只有模型参数最明确
- 更新接口和新增接口共用一个模型,导致字段规则不合适
我的补充
后续 ORM 部分也建议你保留这个习惯:
CreateSchema负责新增UpdateSchema负责更新ReadSchema负责返回给前端