使用AWS API网关请求验证程序

时间:2018-02-09 16:56:27

标签: cors aws-api-gateway request-validation

我使用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

有关

1 个答案:

答案 0 :(得分:3)

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

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

API Gateway, Gateway Responses

这将允许从API网关抛出400个错误以使用CORS,因为您在此处添加了所需的标头。