如何让 AWS API 网关根据模型验证 JSON Body

How to get AWS API Gateway to validate JSON Body against Model

新发布的 "x-amazon-apigateway-request-validator"(我相信是在四月份)应该能够 运行 针对 POST/PUT 负载的 JSON 架构验证 API.

我现在尝试用几种不同的方式来实现它,但我无法让它工作... 我添加了验证器:

"x-amazon-apigateway-request-validators": {
  "ValidateBody": {
    "validateRequestParameters": false,
    "validateRequestBody": true
  },
  "ValidateHeaders": {
    "validateRequestParameters": true,
    "validateRequestBody": false
  }

}

对于任何方法,我都会寻找特定的 headers 所以我在 Swagger 的 "root" 中也有参数:

"x-amazon-apigateway-request-validator": "ValidateHeaders"

在 POST 中,我有一个 x-amazon-apigateway-request-validator: ValidateBody,然后是一个带有 JSON 模式的模型,其中几个元素是 required

但是我可以 POST 任何东西,只要它是 JSON...没有针对 JSON 模式完成的验证...

我错过了什么?

正在运行! 部署和新代码的实际使用之间存在时间延迟,即使我似乎没有进行任何缓存。

出去吃午饭,回来找到可行的解决方案!

{
  "message": "Invalid request body"
}

不过如果能够修改响应消息就好了...