fastapi 基于 body Examples 的接口文档如何编写
时间: 2024-01-30 10:02:13 浏览: 19
在 FastAPI 中,可以使用 Pydantic 模块来定义请求体和响应体的模型,进而生成接口文档。FastAPI 还提供了 `Body` 和 `Query` 等装饰器来方便地处理请求体和查询参数。
下面是一个使用 `Body` 装饰器的例子:
```python
from fastapi import FastAPI, Body
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
@app.post("/items/")
async def create_item(item: Item = Body(..., example={
"name": "Foo",
"price": 35.4,
"is_offer": True
})):
item_dict = item.dict()
if item_dict["is_offer"]:
item_dict["price"] = item_dict["price"] * 0.9
return item_dict
```
在上面的例子中,我们定义了一个 `Item` 模型,它包含了 `name`、`price` 和 `is_offer` 三个字段。然后我们在 `create_item` 函数中使用 `Body` 装饰器来标记 `item` 参数,表示这个参数是请求体中的数据,并且使用 `example` 参数来定义请求体的示例数据。
这样,在运行 FastAPI 应用程序时,访问 `/docs` 页面就可以看到生成的接口文档,其中包含了请求体的示例数据和模型定义等信息。