2017-07-19 86 views
0

当我测试通过AWS网关我LAMBDA,我可以看到记录此行:AWS网关总是返回默认状态代码

Wed Jul 19 20:06:11 UTC 2017 : Method response body after transformations: {"errorCode":0,"headers":{},"statusCode":567,"base64Encoded":false} 

正如你可以看到我回来的567状态码。但是,我总能看到200:

enter image description here

然后,这是我在合并响应配置:

enter image description here

我使用的REG EXP * “的StatusCode”:567。 *,但它与{“errorCode”:0,“headers”:{},“statusCode”:567,“base64Encoded”:false}不匹配。

这些都是方法回应部分我的HTTP状态代码:

enter image description here

我不能让其他的回报比200。我试图改变默认的是567,而不是200返回567路。所以看起来像我的设置使我的API返回总是的默认响应。

有没有人知道我做错了什么?

+0

我不确定567是否有效。 – dashmug

+0

尝试使用lambda代理而不是lambda-集成。这样,您可以在您的lambda函数中构建您的响应,而不是在API网关模板中构建。 – dashmug

+0

是否有你的errorRegexes。*?这覆盖了默认的状态码逻辑。 –

回答

1

尝试使用lambda-代理而不是lambda-集成。

这样,您可以在您的lambda函数中构造您的响应,而不是在API网关模板中构建您的响应。

在我看来,处理代码中的响应比使用API​​网关模板更容易。