【问题标题】:How to send a POST request which has Content-Type "application/x-www-form-urlencoded' by using AWS API Gateway?如何使用 AWS API Gateway 发送内容类型为“application/x-www-form-urlencoded”的 POST 请求?
【发布时间】:2019-12-24 05:55:45
【问题描述】:

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

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

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

但我想从 API 网关创建一个 API 来访问此端点。

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

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

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

【问题讨论】:

  • “我想从 API 网关创建一个 API 来访问此端点”是什么意思?

标签: amazon-web-services aws-api-gateway content-type api-gateway


【解决方案1】:

我找到了解决办法。

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

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

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

请求正文也应如下所示。

username=user@wellcomww.com.au&password=123456

【讨论】:

    猜你喜欢
    • 2018-04-04
    • 2017-12-18
    • 1970-01-01
    • 2014-03-30
    • 2020-04-21
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    相关资源
    最近更新 更多