我目前正在使用 Serveless Framework 创建一个新应用程序,并希望将相同的 lambda 函数映射到我的 API 网关中的多个 HTTP 方法(例如,GET 和 POST),但我一直在思考如何执行此操作。
以下是在 awsm.json 中为 apiGateway 配置的默认资源/操作端点生成的无服务器框架:
"apiGateway": {
"deploy": false,
"cloudFormation": {
"Type": "AWS",
"Path": "notify/event",
"Method": "POST",
"AuthorizationType": "none",
"ApiKeyRequired": false,
"RequestTemplates": {},
"RequestParameters": {},
"Responses": {
"400": {
"statusCode": "400"
},
"default": {
"statusCode": "200",
"responseParameters": {},
"responseModels": {},
"responseTemplates": {
"application/json": ""
}
}
}
}
}
所以这允许我的端点接受 POST 请求,但我如何更改此文件以使此 lambda 也接受 GET 请求?我尝试了以下方法:
"cloudFormation": {
...
"Method": [ "POST", "GET" ],
...
}
和
"cloudFormation": {
...
"Method": "POST,GET",
...
}
最佳答案
目前不支持(从 v1.4 开始)。这是一个正在讨论的已知问题 (https://github.com/jaws-framework/JAWS/issues/295),路线图中也有类似的内容。
现在,您必须为每个路由和方法创建一个单独的 .awsm
关于aws-lambda - 是否可以为 API Gateway -> Lambda 映射指定多个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837797/