AWS API网关方法响应状态

时间:2017-11-06 19:59:23

标签: amazon-web-services aws-lambda aws-api-gateway

我已经看到了类似问题的其他回复,但却被卡住了。

尝试从lambda函数在API网关(APIGW)中设置HTTP响应。

我从触及APIGW终点得到以下内容:

{"code":404,"body":"No products found.","statusCode":0,"successful":false}

当我尝试将其映射到APIGW的404时,尽管已经尝试了几乎所有响应的排列,但它从未捕获过。我在那里的最新一个(在整合响应中):

Lambda regex: .*"404".*
Body mapping: $input.path('$')

在正则表达式中使用了一个字符串,因为MIME类型未被设置为json,即使响应看起来像它。已尝试各种变体进行身体贴图。

对于大多数其他人来说,这似乎完美无缺,但没有骰子;任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

看起来我们花哨的lambda是个问题; APIGW正在寻找一个定义的响应结构(errorMessage),并在提供后按预期处理响应。

答案 1 :(得分:0)

您听说过Lambda Proxy Integration吗?

有了这个,你不需要做所有那些正则表达式,因为整个请求/响应都会解析为你的lambda。

您可以通过lambda代码控制状态代码,而不是配置API网关。