我正在构建一个AWS API邮件服务,基本上在发送带有数据的邮件之前检查请求正文。它会检查每个必需的参数是否都齐全,并进行一些基本检查以确保数据符合我们要求。
问题是,即使Lambda函数抛出错误(我使用Lambda测试接口验证了这一点),API网关仍将返回
这意味着我得到了如下日志:
由于最后一部分的原因,我认为API网关返回了
我做了一些设置来处理错误: 目前我不确定为什么它仍然无法返回正确的响应。我查看了各种帖子(包括:有没有办法更改Amazon API Gateway返回的HTTP状态代码?和如何从AWS Lambda函数返回错误集合/对象并映射到AWS API Gateway响应代码),并阅读了文档。
我还尝试了“Lambda Proxy Way”,但那样没有产生任何结果(该lambda根本没有正确执行)。
有人看到我漏掉了什么吗?
问题是,即使Lambda函数抛出错误(我使用Lambda测试接口验证了这一点),API网关仍将返回
200
响应代码并将错误对象作为正文返回。这意味着我得到了如下日志:
Tue Apr 11 14:23:43 UTC 2017 : Method response body after transformations:
{"errorMessage":"\"[BadRequest] Missing email\""}
Tue Apr 11 14:23:43 UTC 2017 : Method response headers: {X-Amzn-Trace-Id=Root=************, Content-Type=application/json}
Tue Apr 11 14:23:43 UTC 2017 : Successfully completed execution
Tue Apr 11 14:23:43 UTC 2017 : Method completed with status: 200
由于最后一部分的原因,我认为API网关返回了
200
。我做了一些设置来处理错误: 目前我不确定为什么它仍然无法返回正确的响应。我查看了各种帖子(包括:有没有办法更改Amazon API Gateway返回的HTTP状态代码?和如何从AWS Lambda函数返回错误集合/对象并映射到AWS API Gateway响应代码),并阅读了文档。
我还尝试了“Lambda Proxy Way”,但那样没有产生任何结果(该lambda根本没有正确执行)。
有人看到我漏掉了什么吗?