我成功地使用 CORS 设置了 AWS API Gateway,当请求有效时,我有一个 200 状态代码和 CORS 标头,这很好。
但是,当 AWS API Gateway 请求验证器检测到无效输入时,状态代码为 400,但未发送 CORS 标头...
这确实很不幸,因为客户端看到的是 CORS 错误而不是真正的 400 错误(例如fetch
由于 CORS 错误,客户端无法区分 400 错误)。
这个问题可能与从 AWS API Gateway 请求验证器获取详细的错误消息
我通过有关使用无服务器部署 CORS 服务以及处理 API 网关抛出的错误的讨论得出了这个答案:https://github.com/serverless/serverless/issues/3896#issuecomment-333910525
基本上,您需要转到 API 网关,选择您的 API,然后选择网关响应。然后您可以为任何内容添加标头4XX
or 5XX
回复。
这将允许 API 网关抛出 400 错误以与 CORS 一起使用,因为您在此处添加了所需的标头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)