Kong 服务 POST 对 Lambda 函数的请求和 JSON 负载
Kong service with POST request to Lambda function and JSON payload
我刚开始使用 Kong 并在服务上设置 Lambda 插件来尝试一下。我使用的 Lambda 函数有一个简单的方法来解析 JSON 正文:
const getBody = (event: any): IBody => {
const body = JSON.parse(event.body)
return new Body(body)
}
因此,尽管我能够调用该函数并从中获得响应,但我得到的只是一条类似于以下内容的错误消息:
{"status":500,"message":"SyntaxError: Unexpected token u in JSON
at position 0"}
这是因为 Lambda 请求是 。
基本上 event.body
仅在从 API 网关调用时可用,而当从 cli 调用时,正确的 属性 名称是 event.request_body
.
所以将方法修改为下面的方法将允许我接收来自 AWS 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)
}
我刚开始使用 Kong 并在服务上设置 Lambda 插件来尝试一下。我使用的 Lambda 函数有一个简单的方法来解析 JSON 正文:
const getBody = (event: any): IBody => {
const body = JSON.parse(event.body)
return new Body(body)
}
因此,尽管我能够调用该函数并从中获得响应,但我得到的只是一条类似于以下内容的错误消息:
{"status":500,"message":"SyntaxError: Unexpected token u in JSON at position 0"}
这是因为 Lambda 请求是
基本上 event.body
仅在从 API 网关调用时可用,而当从 cli 调用时,正确的 属性 名称是 event.request_body
.
所以将方法修改为下面的方法将允许我接收来自 AWS 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)
}