目录

  1. 交互式 API 文档简介
  2. Swagger UI
  3. ReDoc 文档
  4. 定制文档
  5. 参考资料

1. 交互式 API 文档简介

FastAPI 会自动为每个应用生成交互式的 API 文档,支持基于 OpenAPI 规范的文档生成。默认情况下,FastAPI 提供了两种形式的交互式文档:

  • Swagger UI:这是一个基于 OpenAPI 的交互式文档,允许用户查看 API 端点、发送请求,并查看响应。
  • ReDoc:这是另一种样式的文档,适合展示 API 的结构和详细信息。

这些文档的生成是完全自动化的,你只需要编写 API 代码,FastAPI 就会为你提供易于交互的文档界面。


2. Swagger UI

Swagger UI 提供了一个交互式的 API 文档界面,用户可以直接在文档中发送请求,查看响应数据。这对于 API 的开发、调试以及与其他开发人员的协作非常有用。

访问 Swagger UI:

FastAPI 默认启用 Swagger UI,你可以通过访问以下 URL 来查看交互式文档:

http://127.0.0.1:8000/docs

在这个界面中,你将看到所有定义的路由和方法。你可以点击每个端点查看请求和响应的示例,并通过文档中的 UI 发送请求。

使用 Swagger UI:

  • 查看 API 端点: 在左侧,你可以看到所有的 API 路由及其详细信息。
  • 发送请求: 每个路由下面都有一个 “Try it out” 按钮,点击后,可以输入参数并发送请求。
  • 查看响应: 请求返回后,你可以查看响应的状态码、响应时间、返回的数据等。

3. ReDoc 文档

ReDoc 提供了一种简洁、清晰的文档展示方式,适用于查看 API 的结构和详细信息。与 Swagger UI 相比,ReDoc 更加注重文档的层次结构和可读性。

访问 ReDoc 文档:

你可以通过以下 URL 访问 FastAPI 自动生成的 ReDoc 文档:

http://127.0.0.1:8000/redoc

ReDoc 的特点:

  • 清晰的 API 结构: ReDoc 会以树状结构展示 API 的各个部分,包括路由、请求方法、请求体、响应等。
  • 易于导航: 你可以通过左侧的导航栏快速跳转到 API 中的任何一个部分。
  • 查看详细信息: 每个请求方法的详细信息都可以展开查看,特别适合需要了解 API 详细数据结构的开发者。

4. 定制文档

FastAPI 允许你定制自动生成的 API 文档。你可以自定义标题、描述、版本信息、接口描述等内容,以下是一些常见的定制方式:

设置应用的文档信息:

from fastapi import FastAPI

app = FastAPI(
    title="我的 FastAPI 应用",
    description="这是一个使用 FastAPI 构建的示例应用。",
    version="1.0.0",
    docs_url="/docs",  # Swagger UI 文档的路径
    redoc_url="/redoc",  # ReDoc 文档的路径
)

通过以上配置,你可以自定义应用的标题、描述、版本号,并控制文档路径。如果需要关闭 Swagger UI 或 ReDoc 文档,也可以通过设置 None 来禁用它们:

app = FastAPI(docs_url=None, redoc_url=None)  # 禁用文档

自定义文档内容:

你还可以为不同的 API 路由或请求方法添加更多的信息,比如描述、参数说明等:

@app.get("/items/{item_id}", summary="获取指定 ID 的项目", description="通过项目 ID 获取详细信息。")
def read_item(item_id: int):
    return {"item_id": item_id}


5. 参考资料

出站链接

站内链接