当使用POST和正文中的其他参数发出Content-Type: application/x-www-form-urlencoded请求时,许多服务都可以接受Content-Type: application/x-www-form-urlencoded中的查询字符串参数,但似乎accepting也不能接受查询字符串参数。
当我使用POST映射模板调用application/x-www-form-urlencoded和查询string参数(带有Lambda函数)的AWS时,我得到以下错误:
{
"message":"When Content-Type:application/x-www-form-urlencoded,
URL cannot include query-string parameters (after '?'):
'/prod/webhook?inputType=wootric&outputType=glip&url=...'"
}下面是一个示例cURL:
curl -XPOST 'https://{myid}.execute-api.{myregion}.amazonaws.com/prod/webhook? \
inputType=wootric&outputType=glip&url=https://hooks.glip.com/webhook/ \
11112222-3333-4444-5555-666677778888' \
-d "@docs/handlers/wootric/event-example_response-created.txt" \
-H 'Content-Type: application/x-www-form-urlencoded' -v具体目标是使用带有查询字符串参数的URL将Wootroweb钩子事件发布到Lambda函数。
您可以在这里获得代码:
https://github.com/grokify/chathooks
Wootric文件在这里:
GitHub的问题在这里:
https://github.com/grokify/chathooks/issues/15
错误信息似乎非常明确,但我想问:
如果对此没有解决方案,那么除了部署像Heroku这样的托管服务器解决方案之外,还有其他好的轻量级解决方案吗?另外,其他云服务是否通过API网关+云功能来支持这一点,比如Google?
一些例子显示了对这两种方法的支持:
发布于 2020-03-24 06:32:08
是的,有一个解决办法,关键问题是设置将字符串转换为json的映射模板。API网关任何内容类型中显示的非常详细的示例。
发布于 2021-08-23 13:29:31
请将HttpURLConnection的request属性设置为“Content”、"application/json“,类似于connection.setRequestProperty(”Content“、"application/json");
发布于 2021-10-21 11:53:14
我有一个类似的问题,一个第三方供应商使用网络钩子。事实证明,我的提供者正在将url路径从UPPERCASE转换为LOWERCASE。例如,端点应该是apigateway.com/dev/0bscur3dpathRANDOM而不是apigateway.com/dev/0bscur3dpathRANDOM。你说对了。
https://stackoverflow.com/questions/60825421
复制相似问题