【沈枫】关于fastapi的swaggerui部署
python吧
全部回复
仅看楼主
level 7
沈枫🌟 楼主
开个新坑,抽空写一下[小乖]
内网/linux经常会有下不到swaggerui的情况,为了解决这个方案,可以下载静态文件部署到路由里。
Swagger UI 是 API 文档可视化工具,可自动解析 OpenAPI 规范文件,生成交互式 API 网页。支持在线查看接口路径、请求参数、响应体与状态码,能直接在页面发起接口调试,无需额外客户端。
方便前后端查阅接口定义,简化联调,还可展示接口说明、数据模型。
2026年09月09日 03点09分 1
level 7
沈枫🌟 楼主
下了两个文件
我觉得直接用3.5的就可以了
点击文件夹路径输入cmd回车
如果不会查AI去问怎么开cmd到这个路径的基本告别这个贴了[小乖]
npm pack [email protected]
如果没有npm就是没有node,
curl -O 自己https拼接://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.52.5.tgz
2026年09月10日 14点09分 2
level 7
沈枫🌟 楼主
如果是外网就简单了,直接服务器路径/docs进去就可以了
新版的fastapi不支持离线了,如果内网部署就老老实实下资源包吧,也不一定是3.52.5,我先去试试
2026年09月10日 14点09分 3
level 12
从 github 或者 gitee 下载 swagger_ui
2026年09月10日 16点09分 4
level 7
沈枫🌟 楼主
好,***,真费劲,如果各位也遇到像我一样的版本不兼容的情况
1.手写一个.vue文件,准备好包
网页链接
2.给包放到node_modules下
3.package-lock.json和package.json的"dependencies"都加上这个
"dependencies": { "swagger-ui-dist": "^3.52.5" },
4.router/index.js里写上路由
5. const base = (cfg.API_BASE_URL || '').replace(/\/$/, '') // 去掉结尾 / const path = cfg.API?.OPENAPI || '/openapi.json' // 默认值兜底 const specUrl = base + path
这里写上路由:const specUrl = "http://ip:port/openai.json"
6.npm run dev启动
访问本地index.js里的路由访问vue,正常显示
2026年09月11日 03点09分 6
level 7
沈枫🌟 楼主
高版本3.10降级方案:
写到fastapi main.py里
def custom_openapi():
# 命中缓存直接返回
if app.openapi_schema:
return app.openapi_schema
# 用 FastAPI 原生逻辑生成 schema(路由、参数、模型全部自动收集)
openapi_schema = get_openapi(
title=app.title,
version=app.version,
description=app.description,
routes=app.routes,
)
# ← 关键:把 3.1.0 降成 3.0.3,兼容老 swagger-ui
openapi_schema["openapi"] = "3.0.3"
# 顺带清理 3.1 里 swagger-ui 不认的字段(防止个别组件仍报错)
openapi_schema.pop("webhooks", None)
for path_item in openapi_schema.get("paths", {}).values():
for op in path_item.values():
if isinstance(op, dict):
op.pop("webhooks", None)
app.openapi_schema = openapi_schema
return app.openapi_schema
# 覆盖 FastAPI 默认的 openapi 生成方法
app.openapi = custom_openapi
2026年09月11日 03点09分 7
level 7
沈枫🌟 楼主
高版本报错,改main.py
2026年09月11日 03点09分 8
level 7
沈枫🌟 楼主
ht拆开tps://github.com/D-S自己删henMuFeng/ShenFengPlublicFile
资料可以在github库自取,已打包成dist,config.js改一下路径,nginx指一下挂在前端即可
2026年09月11日 06点09分 9
这个是我的个人仓库哈,并非官方。
2026年09月14日 02点09分
level 7
沈枫🌟 楼主
在git的simple.html里有本地替代版,进去找一下路径给localhost:8000改成你的后端路径即可
什么都不用了,只要xxx:xx/openapi.json的路由能请求成功就可以
2026年09月11日 07点09分 10
level 7
直接ai啊,让它帮你搞
2026年09月14日 05点09分 12
首先内网环境布不了AI,如果你能链接外网询问AI,可以直接输入地址/docs访问
2026年09月14日 06点09分
然后就算AI能布,在已有服务器架构nginx需要考虑旧nginx配置与路径冲突,因为/doc是根目录路由,所以走原有的部署路线需要考虑nginx配置
2026年09月14日 06点09分
最后,就算是单纯的拿/openapi拿数据,在linux产测分离的情况下,也需要申请80端口走nginx反向代理给本地服务器拿,以上的所有操作你给AI大概是hold不住的
2026年09月14日 06点09分
内网可以部署大模型,现在什么年代了还古法编程?
2026年09月15日 02点09分
1