Php 如何通过API网关将POST数据传递到AWS Lambda中的我的Slim webapp

Php 如何通过API网关将POST数据传递到AWS Lambda中的我的Slim webapp,php,amazon-web-services,aws-lambda,aws-api-gateway,Php,Amazon Web Services,Aws Lambda,Aws Api Gateway,我知道这不是最佳实践,但我将我的Slim项目(PHP)上传到Lambda函数,遵循Chris White的这篇非常好的教程: 我的API网关有一个代理资源,并使用Lambda代理集成 我可以访问项目的所有页面,但是当我尝试提交表单时,我无法访问控制器中的输入值。 (例如,$request->getParam('email')为空)我表单中的所有输入值均为空 事实上,当我试着 var_dump($_POST) 它返回一个空数组 在我的本地项目中,我尝试转储$request对象,并在bodyPar

我知道这不是最佳实践,但我将我的Slim项目(PHP)上传到Lambda函数,遵循Chris White的这篇非常好的教程:

我的API网关有一个代理资源,并使用Lambda代理集成

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

事实上,当我试着

var_dump($_POST)
它返回一个空数组

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

为什么我开始工作了,但我的帖子却没有?我错过了什么


如能详细解释,将不胜感激。谢谢大家!

您是否使用Api网关尝试了映射模板

例:


我已经读过了,但我不太确定该把它放在哪里。我已启用“使用Lambda代理集成”,但主体映射模板对我不可用。您好,在Api网关中选择您的资源和方法->“集成请求”->“主体映射模板”->“添加映射模板”,其中“内容类型”=“应用程序/json”->添加json映射。试试看,我有点迷路了。我使用了一个代理资源,这样我的routes.php就能处理所有事情。我还启用了Lambda代理集成,因此“Body Mapping Templates”不可用。如果你认为我误解了你,我很抱歉。我对AWS还是新手。你可以在这里看到我是如何让我的Slim项目在Lambda中工作的:我建议创建一个新的空Lambda,用于测试,用于传递api网关并到达Lambda的参数。所以你了解工作原理。在nodejs有一个很酷的例子:我向lambda传递参数没有问题。我的问题是将这些参数传递到Lambda中的PHP项目。不过谢谢你:)
{
    "name" : "$input.params('name')",
    "body" : $input.json('$') 
}