fastapi 接口文档 返回结果添加样例数据
时间: 2023-09-27 16:05:33 浏览: 104
在 FastAPI 中,可以使用 `response_model` 参数来定义接口的返回结果。同时,也可以使用 Pydantic 模块中的 `Example` 类来添加样例数据。
示例如下:
```python
from fastapi import FastAPI
from pydantic import BaseModel, Example
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.get("/items/{item_id}", response_model=Item, response_model_exclude_unset=True)
def read_item(item_id: int):
return {"name": "foo", "price": 42.0}
@app.get("/items", response_model=list[Item], response_model_exclude_unset=True, examples={
"example": Example([{"name": "foo", "price": 42.0}, {"name": "bar", "price": 24.0}])
})
def read_items():
return [{"name": "foo", "price": 42.0}, {"name": "bar", "price": 24.0}]
```
在上述示例中,我们定义了两个接口 `read_item` 和 `read_items`,并使用 `response_model` 参数来定义它们的返回结果。其中,`read_item` 的返回结果为单个 `Item` 对象,而 `read_items` 的返回结果为一个 `Item` 对象列表。
在 `read_items` 接口中,我们使用了 `examples` 参数来添加样例数据。具体来说,我们使用了 Pydantic 模块中的 `Example` 类来定义了一个由两个 `Item` 对象组成的列表,并将其命名为 `example`。这样,在使用 Swagger UI 或 Redoc 等工具查看接口文档时,就可以看到该接口的返回结果示例数据了。
阅读全文