文章目录
在 FastAPI 中,可以使用 Pydantic 模型来定义响应数据的结构。这些模型可以用于自动生成 JSON Schema,并用于请求和响应的数据验证。以下是一些与响应模型相关的参数:
1. response_model
指定Pydantic 模型序列化和验证响应数据。如果响应数据与模型不匹配,FastAPI 将自动报错。
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
@app.get("/items/{item_id}", response_model=Item)
async def read_item(item_id: str):
return {
"name": "Foo",
"description": "A very nice Item",
"price": 35.4,
"tax": 3.2,
}
2. response_model_include
和 response_model_exclude
在序列化响应数据时包含或排除某些字段。两个参数都可以接收一个字段名列表,或者一个字段名集合。
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
description: