来自浏览器 POST 响应的 Lambda event.body 对象属于不同的类型



当我通过 AWS API Gateway->Lambda 从浏览器提交经典 HTML 表单来console.log(event.body)并执行 POST 请求时,我得到类似于查询字符串的内容:

event.body = 'first_name=Blabla&last_name=OOOOO&email=oooo%40aaa.com'

当我在本地主机上通过无服务器离线插件运行相同的函数时,我得到:

event.body = '{"first_name":"Blabla","last_name":"OOOOO","email":"oooo@aaa.com"}'

看起来像一个 JSON 字符串。

我使用相同的 Node.js 版本 (4.3.2(。

为什么会有这种差异?

这取决于请求映射模板的定义方式。在 API GW 控制台测试中,请检查 CW 日志,在"转换后的终端节点请求正文"下查看从 API GW 发送到 Lambda 的内容。

最新更新