API Manager 4.0.0测试控制台加载大响应时页面无响应
WSO2 APIM 4.0.0 测试控制台大体积响应加载失败解决方案
问题场景
- 环境:WSO2 API Manager 4.0.0
- 现象:在发布者/开发者门户的集成测试控制台调用API时,页面触发无响应报错,等待20分钟仍无法加载结果
- 触发条件:接口返回
text/html; charset=utf-8格式响应,响应体大小为2411185字节(约2.3MB) - 报错界面参考:

故障根因
门户内置的测试控制台默认会对全量响应内容做语法高亮、格式排版的前端渲染处理,这类操作会占用浏览器JS主线程。当
text/html/text/plain类文本响应体积超过1.5MB时,渲染计算量会直接撑爆主线程,触发页面假死,和接口本身调用是否成功没有关系。
解决方法
- 调整控制台响应截断阈值(适配当前2.4MB响应场景)
- 进入APIM服务器部署路径,找到开发者门户配置文件:
<APIM_HOME>/repository/deployment/server/jaggeryapps/devportal/site/public/conf/settings.json,发布者门户对应配置文件路径为<APIM_HOME>/repository/deployment/server/jaggeryapps/publisher/site/public/conf/settings.json - 定位到
responsePayloadLimit配置项,默认值为1048576(单位:字节,即1MB),将值修改为3145728(即3MB,覆盖本次2.4MB的响应大小) - 保存配置后,清空浏览器缓存重新加载门户页面,再次调用接口即可正常展示响应内容
注意:该配置为前端响应截断阈值,超过阈值的部分会做截断展示,不会触发全量内容的格式化渲染,从根源避免主线程阻塞
- 进入APIM服务器部署路径,找到开发者门户配置文件:
- 直接导出原始响应,跳过前端渲染
点击接口调用按钮后,无需等待页面渲染结果,直接点击响应区域的「下载」按钮,控制台会直接拉取原始响应流保存为本地文件,全程不触发格式化渲染逻辑,不会出现页面假死 - 大体积响应测试改用外部工具
对于体积超过5MB的文本类响应,不建议使用内置控制台测试。可以先在控制台生成有效访问令牌,再通过curl、Postman等工具携带令牌调用接口,无前端渲染性能瓶颈,curl调用示例如下:curl -H "Authorization: Bearer <控制台生成的有效访问令牌>" "API完整请求地址" -o api_response.html
内容的提问来源于stack exchange,提问作者Chess Sam
相关产品推荐
相关产品推荐

