FastAPI 如何生成 API 文档?

推荐答案

FastAPI 自动生成 API 文档,支持 Swagger UI 和 ReDoc 两种方式。默认情况下,启动 FastAPI 应用后,可以通过以下 URL 访问文档:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

Swagger UI 提供了交互式的 API 文档界面,允许用户直接在浏览器中测试 API 端点。ReDoc 则提供了更简洁的文档展示方式,适合阅读和参考。

本题详细解读

1. 自动生成文档的原理

FastAPI 基于 OpenAPI 标准自动生成 API 文档。OpenAPI 是一个用于描述 RESTful API 的规范,FastAPI 通过分析你的代码中的路由、请求参数、响应模型等信息,自动生成符合 OpenAPI 规范的 JSON 文件。Swagger UI 和 ReDoc 都是基于这个 JSON 文件来渲染文档的。

2. 如何自定义文档

虽然 FastAPI 默认生成的文档已经非常强大,但你仍然可以通过以下方式自定义文档:

  • API 元数据: 在 FastAPI 实例化时,可以通过 titledescriptionversion 等参数来设置 API 的基本信息。

  • 路由描述: 在定义路由时,可以通过 summarydescriptionresponse_description 等参数来为每个路由添加详细的描述。

  • 响应模型: 通过 response_model 参数指定响应模型,FastAPI 会自动在文档中展示该模型的字段和类型。

    -- -------------------- ---- -------
    ---- -------- ------ ---------
    
    ----- ----------------
        ----- ---
        ------------ --- - ----
    
    ------------------- --------------------
    ----- --- ------------
        ------ -------- ------ -------------- -- ---- ---- ------

3. 禁用文档

如果你不希望生成文档,可以通过以下方式禁用:

4. 自定义文档路径

你也可以通过 docs_urlredoc_url 参数来指定文档的访问路径:

这样,Swagger UI 和 ReDoc 的访问路径将分别变为 http://localhost:8000/custom-docshttp://localhost:8000/custom-redoc

纠错
反馈