You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将Swagger交互式API文档导出为静态HTML上传至Confluence?

解决方案

方案1:打包对应版本Swagger UI静态资源(推荐,100%还原项目内效果)

这个方案可以完全保留你项目里Swagger UI的交互能力、样式效果,支持接口调试、参数折叠等所有原有功能:

  • 第一步:访问你运行中的Spring Boot项目的/v2/api-docs接口,把返回的完整JSON内容保存为swagger.json文件
  • 第二步:获取与你依赖版本匹配的springfox-swagger-ui 2.9.2版本的静态资源包,取出dist目录下的全部文件
  • 第三步:修改dist目录下的index.html,找到默认的Swagger JSON地址配置,将原值替换为本地的swagger.json路径,示例修改如下:
// 修改前
url: "https://petstore.swagger.io/v2/swagger.json"
// 修改后
url: "./swagger.json"
  • 第四步:把你导出的swagger.json放到dist目录下,此时直接打开index.html就能得到和项目内完全一致的Swagger文档效果

方案2:适配Confluence的单文件打包方案

如果你的Confluence只支持上传单个HTML文件,可以将所有资源内联到单个HTML中:

  • 把swagger.json的内容直接赋值给index.html的Swagger配置的spec字段,替换原有url配置,示例:
spec: <这里直接粘贴你完整的swagger JSON内容>,
  • 把index.html中引用的外部css、js文件内容全部复制到对应位置,css内容放到<style>标签内,js内容放到<script>标签内,删除外部资源引用
  • 最终生成的单个HTML文件可直接上传到Confluence,打开后完全保留原有交互和样式

注意事项

  • 必须使用和你依赖版本一致的Swagger UI静态资源,不要使用3.x及以上版本,避免出现样式、兼容性差异
  • 若需要精简页面(比如隐藏Swagger logo、顶部地址输入框),可直接在index.html中添加自定义CSS隐藏对应元素,更适配Confluence的展示场景

内容的提问来源于stack exchange,提问作者midi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:15:04