小编Dom*_*nic的帖子

本地启动 API 时未设置 AWS SAM APIGatewayProxyRequestEvent HttpMethod

我使用 a 创建了一个应用程序AWS::SERVERLESS::FUNCTION,其中附加了一个 HttpApi 事件。我认为为每个资源创建一个 lambda 是一个好主意,因此例如 Post、Get 和 Put on /customer 都由单个 lambda 处理,该 lambda 决定使用

switch (input.getHttpMethod()) {
    case "GET": ...
    case "POST: ...
}
Run Code Online (Sandbox Code Playgroud)

现在来解决我的问题:当使用sam local start-api我的 lambda 启动应用程序时,它被正确调用,但既没有input.getHttpMethod()设置也没有input.getRequestContext().getHttpMethod()设置。

鉴于 SAM 支持多个 HttpApi 事件,在本地运行应用程序时未能提供 http 方法实际上会完全减轻本地开发的负担。是我做错了什么,还是这真的不起作用?顺便说一句,我使用的是 Java,我无法判断使用其他语言是否也存在这个问题。

以防万一:我的“每个资源一个 lambda”方法是否错误,每个操作都应该有自己的 lambda 吗?

sam aws-lambda aws-http-api

2
推荐指数
1
解决办法
675
查看次数

标签 统计

aws-http-api ×1

aws-lambda ×1

sam ×1