我目前正在使用Serveless Framework来创建一个新的应用程序,并希望在我的API网关中将相同的lambda函数映射到多个HTTP方法(例如,GET和POST),并且我已经陷入了如何执行此操作的困境。 / p>
以下是在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",
...
}
答案 0 :(得分:1)
目前不支持此功能(自v1.4起)。这是一个正在讨论的已知问题(https://github.com/jaws-framework/JAWS/issues/295),路线图中也有类似的内容。
现在你必须为每条路线创建一个单独的.awsm&方法