【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用

这篇具有很好参考价值的文章主要介绍了【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用fastapi的时候,swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有时候无法加载(国内环境原因或者是局域网屏蔽),此时就需要自己用魔法下载好对应文件,然后替换到fastapi里面去。

fastapi里面依靠这2个函数实现docs和redoc:

from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html

fastapi里面官网给的解决办法:

https://github.com/tiangolo/fastapi/blob/ac93277d3b506f4076aee1af6ae5a86406f545c6/docs_src/custom_docs_ui/tutorial001.py#L4

实践起来就是,首先下载好这些文件:
python执行fastapi后调用swagger文档报请指定一个有效的swagger或openapi版本,Python语言,python,fastapi,ui

其次复现出/docs路由和/redoc路由:

import os
import uvicorn
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from fastapi.openapi.docs import get_swagger_ui_html, get_redoc_html

app = FastAPI(
    title='outpainting_captioning_upscaler',
    description='outpainting images, captioning images,upscaler images',
    version='1.0.0',
    docs_url=None,
    redoc_url=None,  # 设置 ReDoc 文档的路径

)
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
app.mount("/static", StaticFiles(directory="static"), name="static")


@app.get("/docs", include_in_schema=False)
async def custom_swagger_ui_html():
    return get_swagger_ui_html(
        openapi_url="/openapi.json",
        title="xx",
        # oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url,
        swagger_js_url='/static/swagger/swagger-ui-bundle.js',
        swagger_css_url='/static/swagger/swagger-ui.css',
        swagger_favicon_url='/static/swagger/img.png',
    )


@app.get("/redoc", include_in_schema=False)
async def redoc_html():
    return get_redoc_html(
        openapi_url=app.openapi_url,
        title=app.title + " - ReDoc",
        redoc_js_url="/static/swagger/redoc.standalone.js",
    )


# 写个测试接口
@app.get('/xx')
async def test():
    return {'message': 'test success'}


if __name__ == '__main__':
    uvicorn.run(f'{os.path.basename(__file__).split(".")[0]}:app',
                host='0.0.0.0',
                port=7777,
                reload=False,
                workers=1)

其中文件也可以去这里下载:

下载:https://wwsm.lanzouy.com/i682Q1frjnmd 密码:9zw2

成功:
python执行fastapi后调用swagger文档报请指定一个有效的swagger或openapi版本,Python语言,python,fastapi,ui文章来源地址https://www.toymoban.com/news/detail-825452.html

到了这里,关于【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot线上环境彻底关闭Swagger-UI

    Springboot线上环境彻底关闭Swagger-UI 1.SwaggerConfig使用@Profile排除线上环境其他环境生效 2.创建一个控制类使用@Profile仅线上环境生效,使访问swagger-ui.html返回404 通过这种方式可以彻底关闭线上环境访问swagger-ui.html直接返回404

    2024年02月16日
    浏览(46)
  • Springboot 实践(4)swagger-ui 测试controller

            前文项目操作,完成了项目的创建、数据源的配置以及数据库DAO程序的生成与配置。此文讲解利用swagger-ui界面,测试生成的数据库DAO程序。目前,项目swagger-ui界面如下:         以”用户管理”为例,简单讲述swagger-ui测试数据库dao服务程序。点击“用户管理

    2024年02月12日
    浏览(43)
  • Springboot整合Swagger2后访问swagger-ui.html 404报错

    在spring boot项目中配置Swagger2,配置好了但是访问确实404,SwaggerConfig中的注入方法也执行了还是访问不到页面。究其原因是MVC没有找到swagger-ui包中的swagger-ui.html文件和css样式、js等文件。 解决⽅案: ⽅案1. 降低Swagger2的使用版本 ⽅案2. 使⽤配置⼀下+swagger-ui.html+指定的css⽬录

    2024年02月11日
    浏览(38)
  • SpringBoot整合Swagger-UI实现在线API文档

    ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot整合Swagger-UI实现在线API文档 📚个人知识库: Leo知识库,欢迎大家访问

    2024年04月10日
    浏览(38)
  • 后端项目开发:集成接口文档(swagger-ui)

    swagger集成文档具有功能丰富、及时更新、整合简单,内嵌于应用的特点。 由于后台管理和前台接口均需要接口文档,所以在工具包构建BaseSwaggerConfig基类。 1.引入依赖 2.需要添加Swagger配置类。 将需要配置的字段提取出来,单独作为一类 前台接口和后台管理的包的配置,只需

    2024年02月11日
    浏览(38)
  • swagger 3.0.0 集成 springboot 2.6+ 生成doc.html 和swagger-ui

    1.项目中引入pom.xml依赖 特别说明: doc.html模式 swagger-bootstrap-ui只支持Swagger 2 knife4j是swagger-bootstrap-ui的升级版,支持Swagger 3。 2.创建Swagger2Config配置类 3.启动类输出文档地址 项目运行后 控制台输出log见下图 点击任意文档链接都可以进入对应的文档

    2024年02月12日
    浏览(63)
  • 【JAVA swagger】解决No mapping for GET /swagger-ui.html报错

    完整代码在最后 一、报错 1.网页报错404 2.代码报错 No mapping for GET /swagger-ui.html 二、解决办法 1.版本回退 之前用的是swagger3.0.0和springboot3.0.6,始终没找到合适的解决办法,故将版本回退至swagger2.9.2和springboot2.7.11 2.Spring Boot 2.6.X后与Swagger有版本冲突问题,需要在application.prope

    2024年02月11日
    浏览(51)
  • No mapping for GET /swagger-ui.html

    2022-7-23 springboot项目整合swagger2项目,在访问 swagger-ui.html 页面时候发生错误,如下: 控制台报错为: No mapping for GET /emos-wx-api/swagger-ui.html 解决办法:让swagger的配置类 SwaggerConfig 继承 WebMvcConfigurer 接口并且实现其中 addResourceHandlers 方法,如下: 再次访问 http://localhost:8080/项目

    2024年02月16日
    浏览(43)
  • SpringBoot整合Swagger踩坑-项目启动报错与swagger-ui.html请求404无法访问

    依赖 常见依赖接入方式如下: springfox推荐 依赖接入方式如下: 建议使用推荐的方式,可以协助我们解决404异常的问题。 配置 依赖导入完成后创建 SwaggerConfig.java 配置: 报错信息: org.springframework.context.ApplicationContextException: Failed to start bean ‘documentationPluginsBootstrapper’; n

    2024年02月01日
    浏览(38)
  • localhost:8080/swagger-ui.html 访问不到 addResourceHandlers springmvc资源处理请求放行swagger

    无法访问swagger-ui.html 在swagger2.0+中可以用如下配置 解决办法:SpringMVC配置文件修改如下 关键是加入下面这一段 原因,为什么要这样? classpath:/META-INF/resources/ 映射到springfox-swagger-ui-2.9.2.jar!META-INFresources下的文件(包含了swagger-ui.html) classpath:/META-INF/resources/webjars/映射到s

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包