我成功地用CORS设置了API网关,当请求有效时,我有一个200状态代码和CORS头,这很好。
但是当AWS API网关请求Validator检测到无效的输入时,我的状态代码是400,但是CORS报头不会被发送.
这真的很不幸,因为客户端看到的是CORS错误,而不是真正的400个错误(以fetch为例,客户端由于CORS错误无法区分400个错误)。
这个问题可能与Get detailed error messages from AWS API Gateway Request Validator有关
发布于 2018-02-13 04:15:42
通过讨论如何使用无服务器部署CORS服务和处理API网关引发的错误:https://github.com/serverless/serverless/issues/3896#issuecomment-333910525,我获得了这个答案。
基本上,您需要转到API网关,选择API,然后选择Gateway Response。然后,您可以为任何4XX或5XX响应添加头。

这将允许从API网关抛出的400个错误与CORS一起工作,因为您在这里添加了所需的标头。
https://stackoverflow.com/questions/48710640
复制相似问题