如何使用fastapi进行自定义doc文档

本文介绍了如何在使用FastAPI时,按照官方教程自定义文档界面,通过将SwaggerUI和Redoc的JavaScript和CSS文件下载到本地,并在启动文件中配置,使localhost:8000/docs显示定制化的文档界面。

参考官方文档地址:https://fastapi.tiangolo.com/zh/how-to/custom-docs-ui-assets/#self-hosting-javascript-and-css-for-docs

在使用fastapi的时候,按照官网的教程,访问localhost:8000/docs的时候,基本上是空白一片,在这个背景下,我们需要寻求帮助,以下内容就是我按照官网的文档进行整理的解决方案

版本介绍

python==3.9
fastapi==0.104.1

原项目目录:

.
├── app
│   ├── __init__.py
│   ├── main.py

改变后的项目目录

.
├── app
│   ├── __init__.py
│   ├── main.py
└── static
	├── redoc.standalone.js
	├── swagger-ui-bundle.js
	└── swagger-ui.css
### 如何在 FastAPI 中生成和查看后端接口的自动生成文档 Swagger UI 或 ReDoc FastAPI 提供了两种内置工具用于生成交互式的 API 文档界面,分别是 Swagger UI 和 ReDoc。这两种工具都可以帮助开发者快速查看 API 的详细信息并进行在线测试[^1]。 #### 启动项目后的默认路径 当启动一个 FastAPI 应用程序时,默认情况下会自动启用两个 URL 路径来分别支持 Swagger UI 和 ReDoc: - **Swagger UI**: 可以通过 `http://<your-domain>/docs` 访问。 - **ReDoc**: 可以通过 `http://<your-domain>/redoc` 访问。 这些路径允许用户直接在浏览器中打开并浏览 API 接口的相关信息以及执行简单的功能测试。 #### 局域网环境下可能遇到的问题及其解决办法 如果应用程序部署于内部局域网络环境中,并且由于 CDN 不可用而导致无法加载默认的静态资源文件,则可能会出现无法正常显示 Docs 页面的情况[^2]。针对这种情况,可以通过设置以下参数来自定义本地存储的前端资源位置: ```python from fastapi import FastAPI from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html app = FastAPI(docs_url=None, redoc_url=None) @app.get("/custom-docs", include_in_schema=False) async def custom_docs(): return get_swagger_ui_html( openapi_url=app.openapi_url, title="Custom Swagger UI", swagger_js_url="/static/swagger-ui-bundle.js", # 自定义 JS 文件地址 swagger_css_url="/static/swagger-ui.css" # 自定义 CSS 文件地址 ) @app.get("/custom-redoc", include_in_schema=False) async def custom_redoc(): return get_redoc_html( openapi_url=app.openapi_url, title="Custom Redoc", redoc_js_url="/static/redoc.standalone.js" # 自定义 JS 文件地址 ) ``` 上述代码展示了如何禁用默认 `/docs` 和 `/redoc` 并创建新的路由指向本地化的静态资源链接的方法。 #### 总结 为了成功生成和查看 FastAPI 的后端接口文档,请确认服务已正确运行并通过指定路径访问对应的文档页面;对于特殊场景下的问题则需调整相应配置实现离线模式的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

micro_cloud_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值