我只是刚开始在一个服务上安装Lambda插件来尝试。我使用的Lambda函数有一个简单的方法来解析JSON主体:
const getBody = (event: any): IBody => {
const body = JSON.parse(event.body)
return new Body(body)
}
因此,尽管我能够调用该函数并从中获得响应,但我得到的只是一个类似于以下内容的错误消息:
{“状态”:500,“消息”:“SyntaxError: JSON中位于0位置的意外令牌u”}
发布于 2018-12-05 13:10:27
这是因为Lambda请求是different when invoked from the cli and when called from AWS API Gateway的事实。
基本上,event.body
只在从API调用时可用,而从cli调用时,正确的属性名是event.request_body
。
因此,将方法修改为下面的方法将允许我接收来自API网关和cli的调用:
const getBody = (event: any): IBody => {
const body = JSON.parse(Object.is(event.request_body, undefined) ? event.body : event.request_body)
return new Body(body)
}
https://stackoverflow.com/questions/53633125
复制相似问题