我使用CORS成功设置AWS API Gateway,当请求有效时,我有200状态代码和CORS标头,这很不错。
但是,当AWS API网关请求验证程序检测到无效输入时,我的状态代码为400,但未发送CORS标头...
这真的很不幸,因为客户端看到了CORS错误而不是真正的400错误(例如fetch
客户端由于CORS错误而无法区分400错误。)
此问题可能与Get detailed error messages from AWS API Gateway Request Validator
有关答案 0 :(得分:3)
我通过讨论使用无服务器来部署CORS服务和处理从API网关抛出的错误来得到这个答案:https://github.com/serverless/serverless/issues/3896#issuecomment-333910525
基本上,您需要转到API网关,选择您的API,然后选择网关响应。然后,您可以为任何4XX
或5XX
响应添加标头。
这将允许从API网关抛出400个错误以使用CORS,因为您在此处添加了所需的标头。