表单 – 使用AWS API Gateway和Lambda从multipart / form-data获取非文件正文

前端之家收集整理的这篇文章主要介绍了表单 – 使用AWS API Gateway和Lambda从multipart / form-data获取非文件正文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过API网关将表单数据从multipart / form-data POST获取到我的ASW Lambda Web服务.

HTTP POST具有Content-Type“multipart / form-data”和URL编码的主体.文件数据也在这篇文章中发送(因此我认为是多部分).

Web服务需要与第三方服务集成,因此更改POST的格式实际上不是一种选择.

我已经看到这个@L_301_0@谈论将URL编码数据转换为JSON对象以便在Lambda中使用,但这并不能解决问题.

我也尝试过设置集成请求 – >将内容类型multipart / form-data的模板映射到Input passthrough.这也没有帮助.

我确实遇到了另一个关于使用multipart / form-data上传文件question,但由于我对文件不感兴趣,只是正文,这个答案没有帮助.

下面通过runco​​pe找到捕获的帖子的截图(对不起).

解决方法

如果目标是使用Lambda,则需要将有效的JSON传递给函数.目前,Api Gateway内部的JSON-ify数据无法以非JSON数据的形式出现.

我们的短期修复(在我们的待办事项上)是在映射模板中提供一个变量来获取请求的原始输入.这样你就可以使用如下模板进行简单的JSON转换:

{
    "body" : "$input.body"
}

或类似的东西.

查看映射模板参考以获取更多信息:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

编辑4/7 – 功能已作为$input.body发布

猜你在找的HTML相关文章