我有一个JSON模式文件,其中一个属性被定义为string
或null
:
"type":["string", "null"]
当转换为YAML(用于OpenAPI/Swagger)时,它变为:
type:
- 'null'
- string
在OpenAPI中定义可为null属性的正确方法是什么?
这取决于OpenAPI版本。
您的示例在OpenAPI 3.1中是有效的,它与JSON模式2020-12完全兼容。
type:
- 'null' # Note the quotes around 'null'
- string
# same as
type: ['null', string]
以上相当于:
oneOf:
- type: 'null' # Note the quotes around 'null'
- type: string
type: string
nullable: true
考虑迁移到OpenAPI V.3以获得对Null的适当支持。
我也想用昂首阔步做同样的事情。 为了总结以上问题的答案,使用jsonschema,可以这样做: 答案的关键点是使用之一。 注意:一些swagger实现使用(或类似的)来指定属性值可以为null,但是,用对象引用的内容替换对象,因此似乎忽略了对的任何使用。
如何在OpenAPI/Swagger中定义一个字段是可选的或必需的,缺省的是什么?
我要求在有效负载中有两个属性,比如属性1和属性2。两者都是数组类型。条件是,要么两者都可以有值,要么其中只有一个为非空。但两者不能同时为空。我如何在swagger规范中定义这个需求,这样我就可以实施模式,使得两者都不应该为空,但是其中任何一个都可以为空。 有效示例: 无效示例:
我使用swagger生成类在Java和类型脚本。我有问题定义映射属性与对象列表为值。我试图定义如下: 上面的yml定义在java中生成以下代码: 如何配置yml以生成包含数据列表的密钥?类似于下面的类: 或 这是否可能与大摇大摆2.0?我正在考虑定义另一个扩展ArrayList的DataList类,然后将该类用作映射的值。 --------------更新 谢谢@nickb 我使用swagger-
我正在为一个api创建一个OpenAPI 3规范,该API具有需要某些属性的对象,对于某些属性,它们是任何对象。当我创建如下规范时,它会抛出一个错误,我无法修复。 Swagger编辑器给出了如下错误 - 在使用如下建议时 验证错误消失了,但swagger编辑器模式/模型视图未显示任何内容,如下所示 -