通过 OpenAPI 规范验证 AWS API 网关中的路径参数

Validate path param in AWS API Gateway through OpenAPI spec

我通过 openAPI 规范创建了一个带有路径参数和请求主体的 POST API。

"/v2/{lang}/subject": {
  "post": {
    "parameters": [
        {
          "name": "lang",
          "in": "path",
          "required": true,
          "type": "string"
        },
        {
          "in": "body",
          "name": "subject",
          "required": true,
          "schema": {
            "$ref": "#/definitions/subject"
          }
        }
      ],
    "requestBody": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/subject"
          }
        }
      },
      "required": true
    },
    "x-amazon-apigateway-request-validator" : "all",
    .....
   }

我想在 APIGW 验证路径参数和请求正文。不幸的是,1 个测试用例失败了。

如果我尝试访问缺少语言的 API,例如:https://apigwsampleurl.com/v2/subject,AWS APIGW 会抛出 缺少身份验证令牌 错误。

配置中应该如何处理这种情况?

如果路径不正确,后端将不会有 API 网关资源可以命中,因此需要对该路径进行任何验证 client-side。 路径参数只有在存在时才会被验证。