【发布时间】: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