FastAPI 的一个重要特性是自动生成 API 文档和测试代码。在本文中,我们将讨论 FastAPI 如何自动生成 API 文档和测试代码,以及如何使用 Swagger UI 和 ReDoc 来查看生成的文档。
自动生成 API 文档
FastAPI 提供了一种简单的方式来自动生成 API 文档。在定义路由时,您可以使用类似于 Flask 的装饰器语法来添加注释。FastAPI 将使用这些注释来自动生成 API 文档。
下面是一个简单的 FastAPI 应用程序,其中包含一些注释:
代码语言:javascript复制from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
"""
Root endpoint that returns a welcome message.
"""
return {"message": "Hello World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
"""
Endpoint that returns item information.
Parameters:
- item_id (int): The ID of the item to retrieve.
- q (str): An optional query parameter.
"""
return {"item_id": item_id, "q": q}
在上面的代码中,我们使用注释来描述根路由和 /items/{item_id} 路由的作用,以及它们的参数。这些注释将用于自动生成 API 文档。
接下来,我们需要安装 FastAPI 的自动生成 API 文档插件。在命令行中运行以下命令:
代码语言:javascript复制pip install fastapi[all]
安装完成后,我们可以使用以下命令启动应用程序:
代码语言:javascript复制uvicorn main:app --reload
现在,我们可以在浏览器中访问 http://localhost:8000/docs 来查看自动生成的 API 文档。Swagger UI 将自动展示每个路由的注释和参数,并为每个路由生成相应的请求示例。您可以使用 Swagger UI 来测试 API,而无需编写任何代码。