我们在一个项目中使用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中都没有提及。预期的行为是什么?
答案 0 :(得分:1)