我读过其他类似的帖子,其中包含完全相同的错误消息,但我的问题不同。
我在https://XXXXXXXX.execute-api.us-east-1.amazonaws.com/xxxx/users中有一个 AWS ApiGateway (从现在起我将其称为/users)。
我已经使用 Cognito 授权实现了 ApiGateway 到 Lambda 脚本,它们工作没有问题,例如:
/users/me-> 返回当前登录用户的数据问题是当我在 ApiGateway 中调用不存在的路由时,例如:
/users/mine123-> 它返回{“message”:“授权标头中的‘my-cognito-user-id-token’不是有效的键=值对(缺少等号):‘Bearer my-cognito-user-id-token’。” }
我的问题是...当 ApiGateway 中的路由不存在时,有没有办法返回 NotFound 或 BadRequest 错误?
我认为可以实现任何资源,但是,有没有一种“干净”的方法可以在没有任何资源的情况下实现它?
编辑1:
我也尝试了 Api Gateway 响应。我设置了自定义响应,状态错误代码 404 表示“未找到资源”,但 Api Gateway 仍然返回403 Forbidden。
编辑2
我也已经配置了4XX响应:
API Gateway 总是返回 403 错误并显示此消息(正如一般 4XX 错误所预期的那样),但是我认为这没有意义,因为Forbidden这不是一个真正的错误,而是一个NotFoundorBadRequest错误。
例如,
404 NotFound。