5

我目前正在使用无服务框架来创建一个新的应用程序,并且希望将相同的 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",
  ...
}
4

1 回答 1

1

目前不支持此功能(从 v1.4 开始)。这是一个正在讨论的已知问题 ( https://github.com/jaws-framework/JAWS/issues/295 ),路线图中也有类似的内容。

现在,您必须为每个路线和方法创建一个单独的 .awsm

于 2015-11-30T07:44:00.697 回答