【问题标题】:Azure API Management does not validate required properties in payloadAzure API 管理不验证负载中的必需属性
【发布时间】:2020-11-11 07:59:38
【问题描述】:

我们在一个项目中使用 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 中提及。预期的行为是什么?

【问题讨论】:

    标签: azure openapi azure-api-management


    【解决方案1】:

    【讨论】:

    • 感谢您找到这个,看来至少不是我一个人想要它。
    猜你喜欢
    • 2021-08-09
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多