我正在尝试从multipart/form-data
POST
通过 API 网关连接到我的 AWS Lambda Web 服务。
超文本传输协议POST
具有内容类型“multipart/form-data”和 URL 编码的正文。文件数据也在这篇文章中发送(因此我猜是多部分的)。
Web服务需要与第三方服务集成,因此需要改变Web服务的格式POST
并不是一个真正的选择。
我见过这个谈论将 URL 编码数据转换为 JSON 对象以在 Lambda 中使用,但这并不能解决问题。
我也尝试过设置整合请求 -> 映射模板对于内容类型multipart/form-data
to 输入直通。这也没有帮助。
我确实遇到了另一个question https://stackoverflow.com/q/31645205/8524关于使用上传文件multipart/form-data
,但由于我对文件不感兴趣,只对正文感兴趣,所以这个答案没有帮助。
下面是通过 runscope 捕获的帖子的屏幕截图(抱歉)。
如果目标是使用 Lambda,您需要将有效的 JSON 传递给该函数。目前,还没有一种方法可以对 Api Gateway 内的非 JSON 数据进行 JSON 化。
我们的短期修复(在我们的积压工作中)是在映射模板中提供一个变量来获取请求的原始输入。这样您就可以使用如下模板进行简单的 JSON 转换:
{
"body" : "$input.body"
}
或类似的东西。
查看映射模板参考以获取更多信息:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
编辑 4/7 - 功能已作为 $input.body 发布
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)