繁体   English   中英

AWS API网关返回400错误请求,但Postman正常工作

[英]AWS API gateway returns 400 Bad Request, but Postman works fine

我正在使用SendGrid Parse API( https://sendgrid.com/blog/parse-webhook-tutorial/ )将传入的电子邮件正文过帐到AWS API Gateway。

当我将webhook发送到requestb.in时,我得到的响应很好。

当我使用Postman伪造对服务器的请求时,我得到了正确的响应。

但是,当我告诉SendGrid将Webhook发送到我的服务器时,我收到来自SendGrid的400错误响应错误,并且我的服务器再也没有命中(因此,我认为API网关抛出了错误)。

有什么简单的我想念的吗? 我尝试设置CORS,但不是(或者我设置错了)。

我很沮丧

谢谢!

我刚刚调试了一个API网关问题,该问题引发了与CORS相关的错误消息,并且该请求从未到达我的服务器,但真正的问题是来自请求中的数据。

因此我发现,如果请求存在任何问题,API网关将抛出默认的400错误,表明没有Allow-Access-Control-Origin标头。 这可以使您认为CORS存在问题。 如果您设置MOCK GET请求,在浏览器中发出请求,并在浏览器开发人员工具的“网络”标签中确认它返回200,则可以消除CORS的问题。

一旦我知道它仅来自POST请求,就必然是数据问题。 我发送的JSON哈希值未经过字符串化处理。 因此解决方案是使用JSON.stringify(request_data)

我会检查请求的数据格式。 如果您将请求和回答添加到您的问题中,我也许可以提供进一步的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM