Azure API管理未验证有效负载中所需的属性



我们在项目中使用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,
}
}]

我找不到任何关于这方面的文件,也没有任何限制。预期行为是什么?

看起来这是已请求但尚未实现的功能:https://feedback.azure.com/forums/248703-api-management/suggestions/17369008-schema-validation-in-apim

最新更新