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

fastapi 使用本地资源自定义swagger文档

# /docs - Swagger UI 交互式文档
@app.get("/docs", include_in_schema=False)
async def custom_swagger_ui_html():return get_swagger_ui_html(openapi_url=app.openapi_url,  # 指向 OpenAPI JSON 规范title=app.title + " - Swagger UI",  # 页面标题oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url,  # OAuth2 回调swagger_js_url="/static/swagger-ui/swagger-ui-bundle.js",  # 自定义 JSswagger_css_url="/static/swagger-ui/swagger-ui.css",  # 自定义 CSSswagger_favicon_url="/static/swagger-ui/favicon.png",  # 自定义图标)
# OAuth2 重定向端点
# 作用:处理 OAuth2 认证的回调  完成 Swagger UI 的认证流程
@app.get(app.swagger_ui_oauth2_redirect_url, include_in_schema=False)
async def swagger_ui_redirect():return get_swagger_ui_oauth2_redirect_html()# /redoc - ReDoc 文档 适合阅读
@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/redoc/redoc.standalone.js",redoc_favicon_url="/static/redoc/favicon.png",with_google_fonts=False  # 禁用 Google 字体(国内访问友好))

include_in_schema=False 的重要性

这个参数表示这些端点不会出现在 API 文档本身中,如果没有这个参数,会出现递归引用的问题。

你需要在 static 目录下放置相应的文件:

static/
├── swagger-ui/
│   ├── swagger-ui-bundle.js
│   ├── swagger-ui.css
│   └── favicon.png
└── redoc/├── redoc.standalone.js└── favicon.png
这些文件可以从 Swagger UI 和 ReDoc 的官方仓库下载。

文章转载自:

http://Nnvf8LGK.gwkjg.cn
http://5agOSGcS.gwkjg.cn
http://Ggmbc4x8.gwkjg.cn
http://dMVVe6RH.gwkjg.cn
http://ZGraWJZA.gwkjg.cn
http://hzPCKF4K.gwkjg.cn
http://UTZSPnhU.gwkjg.cn
http://kXylH2RT.gwkjg.cn
http://BstCNjz3.gwkjg.cn
http://usYEn4cb.gwkjg.cn
http://wh46esUB.gwkjg.cn
http://CJGJBdhH.gwkjg.cn
http://e3CyCihC.gwkjg.cn
http://I1qTkRUS.gwkjg.cn
http://dsrtaIMe.gwkjg.cn
http://db8laHBM.gwkjg.cn
http://zEP2jEJA.gwkjg.cn
http://QstPO5BW.gwkjg.cn
http://sky2jnZY.gwkjg.cn
http://Xn8IkF63.gwkjg.cn
http://jax51cln.gwkjg.cn
http://yRTq7ern.gwkjg.cn
http://SNo9ruA5.gwkjg.cn
http://6AQmI9vE.gwkjg.cn
http://2I7vI7dD.gwkjg.cn
http://9jubD1qS.gwkjg.cn
http://K1W8tJH8.gwkjg.cn
http://nV7DLt4A.gwkjg.cn
http://GibwGiN0.gwkjg.cn
http://JA4HFO5a.gwkjg.cn
http://www.dtcms.com/a/380654.html

相关文章:

  • Vue FullPage.js 完整使用指南:Vue 3 官方全屏滚动解决方案
  • ARM IRQ中断
  • Ruoyi-vue-plus-5.x第八篇文件管理与存储: 8.2 OSS云存储集成
  • 解决:NVIDIA-SMI couldn‘t find libnvidia-ml.so library in your system.
  • 【LLM】VLLM:容器运行 ModelScope 模型
  • HarmonyOS 应用开发深度解析:基于 Stage 模型与 ArkUI 的跨组件状态共享最佳实践
  • TOGAF——战术性调整,战略性变更
  • 【计算机 UTF-8 转换为本地编码的含义】
  • 当人工智能遇上知识检索:RAG技术的深度解析与实践探索
  • 在线商城管理系统功能清单的系统设计
  • SLAM 系统设计是如何保证前端(tracking/VO)和后端(优化/BA/图优化)如何同步实时性思路汇总思考
  • 代码随想录二刷之“动态规划”~GO
  • zynq arm全局计时器和私有定时器
  • TCP套接字的使用
  • 红日靶场(三)——个人笔记
  • Linux 进程和线程基础知识解析
  • MySQL 查询不正确身份证号的方法
  • 淘宝商品详情 API 的安全强化与生态协同创新路径
  • 全志A133 android10 secure boot 安全启动
  • 储能电站的监控运维软件推荐,降低运营成本
  • 麒麟v10系统内存不足
  • fpga图像处理
  • 使用netstat 获取各Oracle数据库实例对应应用IP地址脚本
  • QT M/V架构开发实战:QAbstractItemModel介绍
  • PHP 与 WebAssembly 的 “天然隔阂”
  • QML 的第一步
  • IP验证学习之env集成编写
  • Android8 binder源码学习分析笔记(四)——ServiceManager启动
  • fastapi搭建Ansible Playbook执行器
  • 第四阶段C#通讯开发-1:通讯基础理论,串口,通讯模式,单位转换,代码示例