OpenAPI Specification中additionalProperties对应的变量类型咨询
关于OpenAPI中additionalProperties的类型疑惑解答
这个Schema的类型是对象,不存在同时属于两种类型的情况,你混淆了Schema本身的类型和它对额外属性的约束规则:
- 最外层的
"type": "object"明确了这个Schema描述的是对象类型的数据。 additionalProperties是OpenAPI对象类型Schema的专用约束字段,用来规定:当这个对象包含未在properties字段里提前声明的额外属性时,这些额外属性的值必须符合的类型规则。示例里的{"type": "string"}就是要求所有未定义的额外属性,它们的值都得是字符串类型。
举个符合该Schema的合法数据示例:
{ "username": "koen", "email": "koen@example.com" }
这里的username和email都是未提前定义的额外属性,值为字符串,符合规则。
再举个不符合规则的例子:
{ "username": "koen", "age": 28 }
这里的age是额外属性,但值为数字,违反了additionalProperties要求的字符串类型,不符合该Schema的校验。
内容的提问来源于stack exchange,提问作者koen ruymbeek
相关产品推荐
相关产品推荐

