当前位置: 首页 > news >正文

FastAPI docs接口文档打不开怎么解决

FastAPI 文档页面无法访问的主要原因是其默认 CDN 资源被屏蔽,可通过替换资源地址或本地部署解决。

‌核心问题诊断‌

FastAPI 默认使用 jsDelivr CDN 加载 Swagger UI 资源(swagger-ui-bundle.js 和 swagger-ui.css),由于该 CDN 在国内访问受限,导致文档页面加载失败。‌‌‌‌
‌有效解决方案‌

‌方法一:使用第三方库自动替换 CDN‌

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)

该方法将自动替换为国内可用 CDN,操作简便且无需修改源码。‌‌

‌方法二:手动修改源码‌

  1. 定位到 FastAPI 安装目录下的 openapi/docs.py
  2. 替换以下字段的 CDN 地址:
swagger_js_url = "https://petstore.swagger.io/swagger-ui-bundle.js"
swagger_css_url = "https://petstore.swagger.io/swagger-ui.css"

此方案适合需要长期稳定部署的场景。‌‌

‌方法三:本地部署静态资源‌

  1. 下载 Swagger UI 资源包。
  2. 在项目中配置静态文件路径:
app.mount("/static", StaticFiles(directory="static"), name="static")

3.下载文件
https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css
https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js
将以上两个文件保存到文件夹 /static 下。
修改文档加载路径指向本地资源。
该方案适用于内网环境或无外网访问的场景。‌‌
‌‌
‌辅助排查建议‌
确认 ASGI 服务器运行状态(如 uvicorn main:app --reload)。‌‌
检查是否因路径冲突导致访问失败,可尝试修改 docs_url 参数。‌‌
升级 FastAPI 到最新版本以排除兼容性问题(pip install --upgrade fastapi)

http://www.dtcms.com/a/308478.html

相关文章:

  • 活到老学到老之AES加密
  • CentOS 7 上使用 Docker 安装 Jenkins 完整教程
  • 有公网ip还要端口映射不?只有内网ip怎么做映射端口到外网访问?
  • Electron 作品【AI聊天】桌面应用 —— 系列教程(含开源地址)
  • 守护金融核心业务 | 博睿数据《金融业务全景与全链路智能可观测体系建设白皮书》发布!
  • ORACLE基本DML操作
  • ShimetaPi M4-R1:国产高性能嵌入式平台的异构计算架构与OpenHarmony生态实践
  • 如何在 Ubuntu 24.04 或 22.04 LTS 上安装 OpenShot 视频编辑器
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step6—本地apt源
  • MELF电阻的原理,特性和应用
  • 视觉图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法
  • 从入门到精通:Git全面指南(下)
  • 【01】大恒相机SDK C++开发 —— 初始化相机,采集第一帧图像、回调采集、关闭相机
  • R语言空间分析、模拟预测与可视化
  • 垂直元素均匀分布
  • 【第四章自定义编辑器窗口_Game窗口中的GUI_运行时控制台窗口(10/12)】
  • 深度解析领域特定语言(DSL)第七章:语法分析器组合子 - 用乐高思维构建解析器
  • go2sky的封装及使用
  • LeetCode 刷题【23. 合并 K 个升序链表】
  • Android屏幕适配:从dp到px的转换与今日头条适配方案详解
  • 嵌入式第十六课!!!结构体与共用体
  • 安卓 Activity 四种启动模式(Launch Mode)的核心知识点整理
  • Linux 进程调度管理
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘plotly’问题
  • SAM附录详解
  • 乱删文件,电脑不能开机,怎么办
  • 电子电路原理学习笔记---第5章特殊用途二极管---第1天
  • XSS跨站脚本攻击详解
  • 从0到1学PHP(九):PHP 会话管理:跟踪用户状态
  • opencv解迷宫