【问题标题】:AWS lambda api gateway with node.js express returns an error of "net::ERR_CONTENT_DECODING_FAILED 200"带有 node.js express 的 AWS lambda api 网关返回“net::ERR_CONTENT_DECODING_FAILED 200”错误
【发布时间】:2021-02-28 15:47:45
【问题描述】:
当我的客户端向使用 AWS lambda api 网关托管的 node.js 服务器发送 GET 请求时发生错误。服务器应使用 res.json({}) 发回一组对象。奇怪的是,当我使用对象的响应或其中包含较少变量的对象数组进行测试时,它可以工作。我也尝试过 JSON.stringify() 服务器端的数组和客户端的 JSON.parse() 但无济于事。在此先感谢所有帮助我并指导我的人,这是我第一次在 StackOverflow 上发帖。
编辑:但是我已经尝试使用 curl 命令到端点并且它返回 json 数组而没有任何错误。
【问题讨论】:
标签:
node.js
amazon-web-services
express
aws-lambda
aws-api-gateway
【解决方案1】:
好的,我发现我的代码的哪一部分导致了这个错误!
app.use(busboy());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(busboyBodyParser());
因为我之前在使用 npm 包“Busboy”进行文件传输,所以导入并使用了一些与之关联的包。但是,我忘记注释掉这些代码,因此,我相信它弄乱了响应正文并得到了错误。需要明确的是,这是在 node.js 后端。