首页 > 解决方案 > 如何使用 AWS API Gateway 发送内容类型为“application/x-www-form-urlencoded”的 POST 请求?

问题描述

我正在尝试通过 AWS API Gateway 向 REST 服务发送 POST 请求。

请求的内容类型应该是“application/x-www-form-urlencoded”。这是我正在尝试访问的身份验证服务。我在请求正文中发送“用户名”和“密码”。

当我通过邮递员发送请求时,它可以工作(它给了我正确的响应)。

但是我想从 API Gateway 创建一个 API 来访问这个端点。

当我在 API Gateway 中创建 POST 方法并尝试在不指定任何内容类型的情况下对其进行测试时,后端服务器会告诉我使用内容类型“application/x-www-form-urlencoded”来发送请求.

然后,当我尝试将内容类型放在 API 的“集成请求”中的“映射模板”部分时,请求甚至没有到达后端。当我测试它时出现错误(JSON 响应),说“不支持的媒体类型”。

这里有没有人知道任何解决方法?

标签: amazon-web-servicesaws-api-gatewaycontent-typeapi-gateway

解决方案


我找到了解决方案。

要在 API Gateway 中使用内容类型“application/x-www-form-urlencoded”访问 POST 服务,请确保您在 API 控制台中执行以下操作。

确保您已在“集成请求”部分启用“使用 HTTP 代理集成”,如下所示。

在此处输入图像描述

测试请求时,请确保将内容类型“application/x-www-form-urlencoded”放入标题框中,如下所示。

在此处输入图像描述

请求正文也应如下所示。

用户名=user@wellcomww.com.au&密码=123456


推荐阅读