【发布时间】:2018-08-31 14:04:08
【问题描述】:
我有一个 lambda 函数(Node.js 4.3),如下所示:
exports.handler = function(event, context, callback) {
console.log('Received event:', JSON.stringify(event, null, 2));
var greeter = 'World';
if (event.greeter && event.greeter!=="" && event.greeter1 && event.greeter1!=="") {
console.log('Received 1');
greeter = event.greeter + event.greeter1 ;
} else if (event.body && event.body !== "") {
console.log('Received Body');
var body = JSON.parse(event.body);
if (body.greeter && body.greeter !== "") {
greeter = body.greeter;
}
} else if (event.queryStringParameters && event.queryStringParameters.greeter && event.queryStringParameters.greeter !== "") {
greeter = event.queryStringParameters.greeter;
} else if (event.headers && event.headers.greeter && event.headers.greeter != "") {
greeter = event.headers.greeter;
}
res.body = "Hello, " + greeter + "!";
callback(null, res);
};
当我使用测试控制台测试该功能时,它工作正常,它给了我一个正确的输出,如下所示:
Response:
{
"statusCode": 200,
"headers": {
"Content-Type": "*/*"
},
"body": "Hello, maximJane!"
}
但是,当我尝试使用我的 API 网关(API 网关中的 AWS Lambda 代理集成)对其进行测试时,它只考虑了一个基本上是“欢迎者”的论点。 'greeter1' 根本不被考虑。
我尝试了所有选项,但不知何故它只读取了 1 个参数。
【问题讨论】:
标签: aws-lambda aws-api-gateway