gpt4 book ai didi

html - Amazon Lambdas HTML post 表单提交

转载 作者:行者123 更新时间:2023-11-27 23:22:57 26 4
gpt4 key购买 nike

我想发布到 AWS API 网关。我希望将我的 URL 查询字符串传递给 Amazon Lambda。

在 API 网关配置中,我在方法请求中指定了一个参数作为 URL 查询字符串参数,q4_englishName_first_。在集成请求中,我指定了一个 Content-Type "application/json" 映射。它看起来像这样:

{
"first" : "$input.params('q4_englishName_first_')"
}

我的 lambda 有一个请求类,"first" 是一个字符串、getter 和 setter...

当我从 API 网关控制台进行测试时,我可以为 "q4_englishName_first_" 指定一个值——它有一个文本输入区域供我执行此操作——我离开了请求正文框空白的。当我在API网关中点击测试时,结果是成功的。就我而言,我收到了一封电子邮件,其中包含我在查询字符串输入区域中输入的值。

令人抓狂的是,我没有以任何其他方式取得成功。我想使用标准的 HTML 表单提交来传递值:

<form action="https://foo-api.us-west-2.amazonaws.com/beta" method="post">
<input type="text" name="q4_englishName_first_"/>
<input type="submit"/>
</form>

但是当我点击提交时,我得到了这个:

{"message": "Unsupported Media Type"}

这让我觉得 API 网关不期待 Content-Type "application/x-www-form-urlencoded" 的 POST。我想相信我是对的,因为当我使用 Apache httpclient 编写 Java 程序来执行 POST 时,Content-type "application/json" 经历了......

但我想从 URL 表单进行 POST,我不想等待表单支持 JSON 编码。我是否必须使用 javascript 将表单参数转换为 JSON(如何?)或者有什么方法可以让 AWS API 网关接受我的 url 编码参数?

我错过了什么?

最佳答案

执行此操作的最简单方法是在 API 网关中的资源上创建一个 ANY 方法,并将其设置为使用 Lambda 代理集成。然后将请求中的所有内容传递给 Lambda 函数(包括请求参数和正文)。

关于html - Amazon Lambdas HTML post 表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40121351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com