Kong服务,带有对Lambda函数和JSON有效负载的POST请求

时间:2018-12-05 13:10:27

标签: node.js lambda kong

我只是从Kong开始,并在服务上设置Lambda插件来尝试一下。我使用的Lambda函数有一个简单的方法来解析JSON正文:

const getBody = (event: any): IBody => {
  const body = JSON.parse(event.body)
  return new Body(body)
}

因此,尽管我能够调用该函数并从中获得响应,但我得到的只是一条类似于以下内容的错误消息:

  

{“状态”:500,“消息”:“ SyntaxError:JSON中的意外令牌u   在位置0“}

1 个答案:

答案 0 :(得分:0)

这是由于Lambda请求为different when invoked from the cli and when called from AWS API Gateway

基本上event.body仅在从API网关调用时可用,而从cli调用时,正确的属性名称为event.request_body

因此将方法修改为以下一种方法将使我能够接收来自AWS API Gateway和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)
}