【本文仅记录自己解决问题的过程,以便他人参考】
用FastAPI起服务时,界面正常,但访问接口文档/docs时会遇到页面长时间加载,且加载不出来,最后显示空白的问题,如下图:
目前搜索到的解决方法有:
【方法一】导入封装好的库fastapi-cdn-host
参考:FastAPI访问/docs接口文档显示空白、js/css无法加载_fastapi docs打不开-优快云博客
本人采用的就是这个方法。
步骤:
(1)在所需环境下,下载fastapi-cdn-host包
pip install fastapi-cdn-host
(2)在代码中导入包
from fastapi import FastAPI
import fastapi_cdn_host
app = FastAPI()
fastapi_cdn_host.patch_docs(app)
(3)打开/docs查看结果,就成功啦
【方法二】修改源码(这个我没有试)
参考:解决fastapi访问/docs和/redoc接口文档显示空白或无法加载_fastapi docs打不开-优快云博客
【问题分析】
FastAPI的接口文档默认使用https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.9.0/swagger-ui.css
和https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.9.0/swagger-ui-bundle.js
来渲染页面,而这两个URL是外网的CDN,在国内响应超慢,导致请求超时了。
原文链接:https://blog.youkuaiyun.com/jaket5219999/article/details/135003381
【总结】
遇到FastAPI访问接口文档/docs时页面显示空白的问题,直接使用原博主封装好的包即可,快捷迅速解决问题。