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

AWS API Gateway开发者门户UI定制后Swagger及订阅按钮丢失

解决AWS API Gateway开发者门户Swagger文档/订阅按钮不显示问题

问题根源

报错ReferenceError: Buffer is not defined明确指向浏览器环境中缺少Node.js内置的Buffer对象。AWS开发者门户的Swagger UI组件依赖该对象,你在定制index.html时可能误删了原有提供Buffer兼容层的脚本,或修改了脚本加载顺序导致依赖无法正常初始化。

修复步骤

  • 检查恢复原有兼容脚本:打开未修改的开发者门户index.html(可从AWS控制台重新导出默认门户代码对比),确认是否存在支持Buffer的脚本段,将其复制到当前index.html中,并确保在Swagger UI相关脚本之前加载。

  • 手动添加基础Buffer兼容代码:如果找不到原始脚本,可在index.html的<head>标签内添加以下代码:

    <script>
      window.Buffer = window.Buffer || function (arr) {
        return {
          toString: function(encoding) {
            if (encoding === 'base64') return btoa(arr);
            return arr;
          }
        }
      };
    </script>
    

    注:这段代码仅覆盖Swagger UI所需的基础Buffer.toString('base64')功能,满足当前场景需求。

  • 确认脚本加载顺序:确保deep-extend.js、swagger-ui.js等依赖Buffer的脚本,在兼容代码之后加载,避免初始化时找不到Buffer对象。

  • 逐步排查定制内容:若以上方法无效,临时恢复index.html到修改前状态,逐步重新应用UI定制,每修改一处就测试功能,定位具体导致问题的代码段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:15:33