首页 > 其他分享 >Fastapi中Swagger UI加载缓慢的解决方案

Fastapi中Swagger UI加载缓慢的解决方案

时间:2024-03-18 16:15:01浏览次数:19  
标签:Swagger Fastapi 代码 js ui UI swagger

在国内网络经常遇到Swagger UI加载缓慢的问题,这是由于Swagger UI的CSS和JS代码源在国外导致的,所以我们的解决方法是更改Swagger UI的CSS代码和JS代码源到国内的CND实现加速。这里以Fastapi框架的Swagger UI加载缓慢举例:

一、解决方法

在main.py(入口代码)代码中新增如下代码:

from fastapi import applications
from fastapi.openapi.docs import get_swagger_ui_html


def swagger_monkey_patch(*args, **kwargs):
    return get_swagger_ui_html(
        *args, **kwargs,
        swagger_js_url="https://cdn.staticfile.net/swagger-ui/5.1.0/swagger-ui-bundle.min.js",
        swagger_css_url="https://cdn.staticfile.net/swagger-ui/5.1.0/swagger-ui.min.css")

applications.get_swagger_ui_html = swagger_monkey_patch

需要注意的是:上述代码要放置在app=FastAPI()代码之前,即如下所示的代码之前

app = FastAPI(
    title="FastAPI",
    description="FastAPI接口文档",
    version="1.0.0",
)

二、常见问题

如果按照上述方案新增代码后出现入下图所示的提示,请尝试更换swagger_js_url和swagger_css_url版本即可。

image-20240318155723436

例如:https://cdn.staticfile.net/swagger-ui/[版本号]/swagger-ui-bundle.min.js,链接数字即为版本号,你可以访问https://cdn.staticfile.net/网站搜索swagger-ui查找适合的css和js版本即可

标签:Swagger,Fastapi,代码,js,ui,UI,swagger
From: https://www.cnblogs.com/bokemoqi/p/18080637

相关文章

  • 鸿鹄电子招投标系统源码实现与立项流程:基于Spring Boot、Mybatis、Redis和Layui的企业
    随着企业的快速发展,招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求,建立一个公平、公开、公正的采购环境至关重要。在这个背景下,我们开发了一款电子招标采购软件,以最大限度地控制采购成本,提高招投标工作的公开性和透明性,并确保符合国家电子招投标......
  • 【IT老齐047】避坑UUID主键
    【IT老齐047】避坑UUID主键场景财政部金财工程平台在代理行日终结算时,经常出现磁盘的IO异常,导致经常出现高延迟对比发现在大量数据新增时磁盘IO居高不下,多次测试后发现是UUID主键在搞鬼UUID基于时间的UUID能保证不同设备UUID是唯一的在同一设备上生成UUID可能重复DC......
  • 【QT+QGIS跨平台编译】之八十二:【QGIS_Gui跨平台编译】—【错误处理:QgsExpressionCont
    文章目录一、未定义基类QgsExpressionContextGenerator二、错误处理一、未定义基类QgsExpressionContextGenerator报错信息二、错误处理第33行增加:#include"qgsexpressioncontextgenerator.h"......
  • androidui开发框架,,三级缓存框架问题你都了解了吗
    面经分享第一部分是我前端面试的经验总结,第二部分是我认为比较有思考空间的题目经验总结一份漂亮的简历,需要包括以下部分(排版由上而下)个人亮点(专精领域,个人博客,开源项目)教育经历(毕业院校,在校经历、荣誉)工作经历(实习)项目经历专业技能扎实的前端基础,比如你知道<......
  • 除gRPC之外的另一个选择,IceRPC-支持QUIC
    作者引言自从19年开始接触到RPC,当时完全没有相关概念,接触到的都是http,tcp等,当时公司用的是zeroc出品的ice框架,对应rpc非常强大,跨平台,跨语言。可惜的国内并不是主流,主流是gRPC,万物诸途同归,最终的目地是一样的。主要上看谁简单,方便,好理解。就在去年重新出一个新的RPC框架IceRP......
  • sui move开发实战-dao(1)
    引言经过之前的学习,我准备进行实战开发一个简单的dao项目demo,实现一个去中心化自治组织,用于管理共享资金、社区任务、提案和投票等功能,这篇文章分享了开发前期的系统设计。功能描述daotoken关于daotokendao使用了社区代币dao来治理社区,并进行社区激励,社区成员需要使......
  • Jailbreaking Large Language Models in Few Queries via Disguise and Reconstructio
    本文是LLM系列文章,针对《MakingThemAskandAnswer:JailbreakingLargeLanguageModelsinFewQueriesviaDisguiseandReconstruction》的翻译。让他们问答:通过伪装和重建在少数查询中打破大型语言模型的牢笼摘要1引言2背景和问题陈述3LLM微调中的安全偏......
  • Arduino RP2040 + SSD1306 I2C OLED +LittleFS存储GBK字库实现中文显示
    ArduinoRP2040+SSD1306I2COLED+LittleFS存储GBK字库实现中文显示......
  • m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要        随着人工智能和机器学习技术的飞速发展,手势识别技术在人机交互、虚拟现实、智能家居等领域的应用越来越广泛。基于深度学习网络的手势识别系统凭借其强大的特征提取和......
  • Druid连接池问题:discard long time none received connection.
    啊啊啊啊啊啊啊~~~我真的服了找bug找到发疯百度也找不到,gpt也问不到,最后就是我重新打开视频看着敲了一遍,最后发现......我**忘记加注解了(......