如何通过API网关将{J}传递给AWS Lambda中的Slim webapp

时间:2017-08-29 14:20:51

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

我知道这不是最好的做法,但是我按照Chris White的这个非常好的教程将我的Slim项目(PHP)上传到Lambda函数:https://cwhite.me/hosting-a-laravel-application-on-aws-lambda/

我的API网关具有代理资源并使用Lambda代理集成。

我可以很好地访问我的所有项目页面,但是当我尝试提交表单时,我无法访问控制器中的输入值。  (例如 $ request-> getParam('email')为NULL)我表单中的所有输入值都为NULL。

事实上,当我尝试

var_dump($_POST)

它返回一个空数组。

在我的本地项目中,我尝试转储 $ request 对象,并在 bodyParsed 中找到我的表单中的输入值。我在AWS Lambda上传的项目也做了同样的事情,但 bodyParsed 有一个空数组。

为什么GET正在工作,但我的帖子不是?我错过了什么?

非常感谢详细解释。谢谢!

1 个答案:

答案 0 :(得分:-1)

您是否尝试过使用Api网关的映射模板?

http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

例如:

{
    "name" : "$input.params('name')",
    "body" : $input.json('$') 
}