Azure API管理不验证有效负载中的必需属性

时间:2020-11-11 07:59:38

标签: azure openapi azure-api-management

我们在一个项目中使用Azure API管理,并且我们希望APIM成为防止无效请求的屏障。由于我们已经在OpenAPI规范中指定了有效的请求并将其上载到APIM,因此这似乎是一个合理的假设。

我已经在我们的OpenAPI(版本3.0.1)规范中指定了一个组件,如下所示:

TemperatureRange:
  description: Defines a desired temperature range
  required:
    - min
    - max
  properties:
    min:
      type: number
    max:
      type: number

上传到APIM时,架构看起来不错:

{
    "required": [
        "min",
        "max"
    ],
    "properties": {
        "min": {
            "type": "number"
        },
        "max": {
            "type": "number"
        }
    },
    "description": "Defines a desired temperature range"
}

但是,当我调用使用此定义的API时,即使将属性标记为必需属性,我也可以忽略它们。

我发送的有效负载看起来像这样,而忽略了必需的max属性:

[{
    "someProperty": "someValue",
    "temperatureRange": {
        "min": -18,
    }
}]

我找不到与此相关的任何文档,并且在任何restrictions中都没有提及。预期的行为是什么?

1 个答案:

答案 0 :(得分:1)