7

我成功设置了带有 CORS 的 AWS API Gateway,当请求有效时,我有 200 个状态代码和 CORS 标头,这很好。

但是,当 AWS API Gateway 请求验证器检测到无效输入时,我的状态代码为 400,但未发送 CORS 标头...

这真的很不幸,因为客户端看到的是 CORS 错误而不是真正的 400 错误(例如,fetch由于 CORS 错误,客户端无法区分 400 错误)。

此问题可能与从 AWS API Gateway 请求验证器获取详细错误消息有关

4

1 回答 1

7

我通过关于使用无服务器部署 CORS 服务和处理 API 网关引发的错误的讨论得出了这个答案:https ://github.com/serverless/serverless/issues/3896#issuecomment-333910525

基本上,您需要转到 API Gateway,选择您的 API,然后选择 Gateway Responses。然后,您可以为任何4XX5XX响应添加标头。

API 网关、网关响应

这将允许从 API Gateway 引发的 400 个错误与 CORS 一起使用,因为您要在此处添加所需的标头。

于 2018-02-13T04:15:42.053 回答