fastapi 实践(一)基础
fastapi 实践(二)异常捕获
fastapi 实践(三)Swagger Docs
fastapi Swagger
- 1. FastAPI 交互式 API 文档
- 2. 故障解决
- 2.1. FastAPI 访问 docs 显示空白/加载失败
- 2.2. Swagger 报错:Unable to render this definition
1. FastAPI 交互式 API 文档
FastAPI 提供了内置的交互式 API 文档,使开发者能够轻松了解和测试 API 的各个端点。
这个文档是自动生成的,基于 OpenAPI 规范,支持 Swagger UI 和 ReDoc 两种交互式界面。
通过 FastAPI 的交互式 API 文档,开发者能够更轻松地理解和使用 API,提高开发效率
在运行 FastAPI 应用时,Uvicorn 同时启动了交互式 API 文档服务。
默认情况下,你可以通过访问 http://127.0.0.1:8000/docs 来打开 Swagger UI 风格的文档:
2. 故障解决
2.1. FastAPI 访问 docs 显示空白/加载失败
报错信息:
用 FastAPI 起服务时,界面正常,但访问接口文档/docs时会遇到页面长时间加载,且加载不出来,最后显示空白的问题,如下图:
解决方案1:导入封装好的库 fastapi-cdn-host
下载 fastapi-cdn-host包
pip install fastapi-cdn-host
在代码中导入包
from fastapi import FastAPI
import fastapi_cdn_host
app = FastAPI()
fastapi_cdn_host.patch_docs(app)
打开/docs查看结果,成功!
2.2. Swagger 报错:Unable to render this definition
报错信息:
解决方案:
从报错,就很明显,是因为 swagger 的接口被内部权限拦截了。
权限验证,剔除 swagger 即可。