2

我正在尝试创建一个 API 端点来在我的移动应用程序中执行我的 AWS Lambda 函数。当我创建自定义 API 并测试 POST 方法时,我得到正确的响应代码 200 并且正确的字符串短语返回:"The name is {input}"

但是,当我尝试将此 API 导入我的项目时,它不会出现在 SDK 中。当我尝试通过 Mobile Hub 创建 API 时,我遵循完全相同的步骤,但是当我输入 POST 方法时,我收到以下错误消息:

Endpoint response body before transformations: "The name is InputName"
Fri Mar 10 17:39:33 UTC 2017 : Endpoint response headers: {x-amzn-Remapped-Content-Length=0, x-amzn-RequestId=8599f413-05b8-11e7-92d2-75672f730ae7, Connection=keep-alive, Content-Length=23, Date=Fri, 10 Mar 2017 17:39:32 GMT, Content-Type=application/json}
Fri Mar 10 17:39:33 UTC 2017 : Execution failed due to configuration error: Output mapping refers to an invalid method response: 200
Fri Mar 10 17:39:33 UTC 2017 : Method completed with status: 500
4

1 回答 1

3

这通常表明在您的 API 中如何配置方法响应存在问题。

要查看您的方法响应,请单击您在 API Gateway 控制台中用于请求的方法,然后单击“方法响应”框。您应该会看到一个包含一个或多个 HTTP 状态代码的表格。

API Gateway 使用它来将来自您的 Lambda 函数的响应映射到您选择的状态代码。我怀疑您当前拥有的映射与您的 Lambda 函数返回的映射不匹配,从而导致错误。

本教程更深入地了解响应映射http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-models.html

于 2017-03-13T17:44:12.787 回答