版本信息: python3.8 fastapi 0.78.0

问题:

访问 /docs 查看接口文档是发现swagger资源无法加载(可能是npm宕机了)

解决办法:

尝试降低fastapi版本并未奏效,于是想下载下资源文件,改为本地静态资源加载

github下载地址:

swagger-ui/dist at master · swagger-api/swagger-ui · GitHub

redoc
        百度网盘下载:
                链接:https://pan.baidu.com/s/1XyqTnqxHigWOGKN1soOoag?pwd=4xl3
                提取码:4xl3 
        1. 分别下载 swagger-ui.css 、swagger-ui-bundle.js,放置在本地static文件夹下

2. 需要定位到源码中请求位置:

调用位置:

3.

方法1. 很简单的做法就是直接在源码上修改这三个地址

但是显然不够pythonic;

方法 2. 也可以通过复制这个方法然后修改参数,通过sys.modules覆盖原有方法

方法 3.  但是我要的很简单,只要修改参数就可以了(注意必须覆盖真实的调用位置fastapi.applications

def use_local_static():# 覆盖原有方法,使得swagger从本地加载静态资源sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_js_url"] = "/static/swagger/swagger-ui-bundle.js"sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_css_url"] = "/static/swagger/swagger-ui.css"sys.modules["fastapi.applications"].get_swagger_ui_html.__kwdefaults__["swagger_favicon_url"] = "/static/favicon.jpg"sys.modules["fastapi.applications"].get_redoc_html.__kwdefaults__["redoc_js_url"] = "/static/redoc/bundles/redoc.standalone.js"sys.modules["fastapi.applications"].get_redoc_html.__kwdefaults__["redoc_favicon_url"] = "/static/redoc/favicon.png"

最后不要忘记挂载静态路由:

app.mount("/static", StaticFiles(directory="static"), name="static")

Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载相关推荐

  1. iOS开发UI篇-在UItableview中实现加载更多功能

    iOS开发UI篇-在UItableview中实现加载更多功能 一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时 ...

  2. 判断CSS与JS是否加载完毕的方法

    简单而有效的思路:三步走 一.显示默认提示:直接在页面上标识一个友好的提示:例如xxx,系统加载未完成,建议您刷新后再进行yy操作 二.css加载完毕:对提示内容进行处理:例如红色提示变..黄色警告 ...

  3. js动态加载css文件和js文件的方法

    今天研究了下js动态加载js文件和css文件的方法. 网上发现一个动态加载的方法.摘抄下来,方便自己以后使用 [code lang="html"] <html xmlns=& ...

  4. 前端性能优化不完全手册 【已更新至React、原生JS懒加载和Nginx负载均衡】

    性能优化是一门大学问,本文仅对个人一些积累知识的阐述,欢迎下面补充. 抛出一个问题,从输入url地址栏到所有内容显示到界面上做了哪些事? 1.浏览器向DNS服务器请求解析该 URL 中的域名所对应的 ...

  5. Arcgis for Js之加载wms服务

    概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...

  6. 为什么css文件是.main,页面无法加载main.css

    yii2 如何在页面底部加载css和js 作者:白狼 出处:www.manks.top/article/yii2_load_js_css_in_end 本文版权归作者,欢迎转载,但未经作者同意必须保留 ...

  7. ArcGIS JS API加载GeoServer发布的WFS服务

    文章目录 前言 主要代码 总结 参考链接 前言 WFS(Web Feature Service),OGC标准下的要素服务.其支持的主要操作如下: GetCapabilities (discovery ...

  8. ajax预加载html seo,前端性能优化 — JS预加载和懒加载

    JS预加载 需求:有时我们需要实现例如快速快速切换页面.图片之类的功能时,能尽快的加载出我们所需的图片会极大提升用户体验,这时用预加载将图片先缓存到浏览器,用户使用需显示图片时无疑会顺畅很多. 核心: ...

  9. js动态加载HTML元素时出现的无效的点击事件

    项目中列表数据中隐藏着详情数据, 图一: 详情数据是:根据当前行的数据作为参数,通过ajax请求到后台返回的数据,再根据返回的结果动态生成HTML页面 图二: js文件中的这些js的点击事件无效: j ...

  10. 前端设计中关于外部js文件加载的速度优化

    在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就 ...

最新文章

  1. 通过踩坑带你读透虚拟机的“锁粗化”
  2. 一致性hash算法使用
  3. 震撼!波士顿动力最新逆天机器人视频,倒立翻筋斗!人类集体沉默...
  4. 搭建服务器Apache+PHP+MySql需要注意的问题
  5. python decimal用法_Python decimal模块使用方法详解
  6. python怎么背景实现循环_在Python的一段程序中如何使用多次事件循环详解
  7. 指定复制的数据库或者表
  8. INFORMIX体系效能改善第一步
  9. ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
  10. Veritas Backup Exec 22 (Windows)
  11. 计算机基础知识题库选择题,计算机基础知识题库选择题
  12. C语言入门习题系列一(含答案)
  13. 昆腾公司稍感安慰:向外扩展存储业务营收有所提升
  14. android平板投屏,安卓手机投屏到平板
  15. 计算机算log的原理,一位业余爱好者的研究,原本是第一台机械计算器,就这么胎死腹中...
  16. [CTF攻防世界] WEB区 关于备份的题目
  17. UNITER: UNiversal Image-TExt Representation Learning
  18. db2的驱动程序为db2jcc4-1.6.0_97.jar和db2jcc_license_cu-1.4.2_9.7.jar
  19. 2011款的Mac Air 只装Windows 7 怎么把开机的咣的声音关掉
  20. 开源网络压测工具dperf登上了github C语言趋势榜

热门文章

  1. 用户行为分析大数据平台之(一)项目介绍
  2. CENTOS5.5下使用Roundcube搭建 Webmail
  3. 五脏六腑在脸上的反射区图片_面部五脏反射穴位图
  4. 减治法(Decrease and Conquer)
  5. Raid5磁盘阵列数据恢复成功案例/服务器数据恢复方案
  6. [ Linux ] 零散文件系统安装各种命令和软件的方法
  7. 解决vue项目中@mousemove 事件 子元素触发了父元素事件
  8. Amazon亚马逊卖家设置World First(WF卡)收款教程!
  9. Android应用优化之流畅度优化实操
  10. cf Educational Codeforces Round 54 C. Meme Problem