AWS-API 网关——jsonschema 子对象应该在父对象存在时进行验证
AWS-API gateway -- jsonschema child object should validate when parent object exists
我需要为以下 JSON 输入创建 Jsonschema。只有当 Vehicle 对象存在时,才需要 Vehicle 下的属性,如(制造商、型号等)。
{
"Manufacturer": "",
"Characteristics": {
"Starts": "new",
"vehicle": {
"Manufacturer": "hello",
"Model": "hh",
"Opening": "",
"Quantity": "",
"Principle": "",
"Type": ""
}
}
}
我尝试了以下 JsonSchema,但是当 Vehicle 对象不存在时这会起作用,但是如果我们将 Vehicle 重命名为其他一些例如:Vehicle1 它不会给出错误。请指导我如何解决此问题。
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Manufacturer": {
"type": [
"string",
"null"
]
},
"Characteristics": {
"type": "object",
"properties": {
"Starts": {
"type": [
"string",
"null"
]
},
"Vehicle": {
"$ref": "#/definitions/Vehicle"
}
},
"required": [
"Starts", "Vehcle"
]
}
},
"required": [
"Manufacturer"
],
"definitions": {
"Vehicle": {
"type": "object",
"properties": {
"Manufacturer": {
"type": [
"string",
"null"
]
},
"Model": {
"type": [
"string",
"null"
]
},
"Opening": {
"type": [
"string",
"null"
]
},
"PanelQuantity": {
"type": [
"string",
"null"
]
},
"Principle": {
"type": [
"string",
"null"
]
},
"Type": {
"type": [
"string",
"null"
]
}
},
"required": ["Manufacturer", "Model", "Opening", "Quantity", "Principle", "Type"]
}
}
}
谢谢,
巴斯卡
听起来您想添加 "additionalProperties": false
-- 如果存在未在 properties
.
下定义的任何其他属性,这将生成错误
我需要为以下 JSON 输入创建 Jsonschema。只有当 Vehicle 对象存在时,才需要 Vehicle 下的属性,如(制造商、型号等)。
{
"Manufacturer": "",
"Characteristics": {
"Starts": "new",
"vehicle": {
"Manufacturer": "hello",
"Model": "hh",
"Opening": "",
"Quantity": "",
"Principle": "",
"Type": ""
}
}
}
我尝试了以下 JsonSchema,但是当 Vehicle 对象不存在时这会起作用,但是如果我们将 Vehicle 重命名为其他一些例如:Vehicle1 它不会给出错误。请指导我如何解决此问题。
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Manufacturer": {
"type": [
"string",
"null"
]
},
"Characteristics": {
"type": "object",
"properties": {
"Starts": {
"type": [
"string",
"null"
]
},
"Vehicle": {
"$ref": "#/definitions/Vehicle"
}
},
"required": [
"Starts", "Vehcle"
]
}
},
"required": [
"Manufacturer"
],
"definitions": {
"Vehicle": {
"type": "object",
"properties": {
"Manufacturer": {
"type": [
"string",
"null"
]
},
"Model": {
"type": [
"string",
"null"
]
},
"Opening": {
"type": [
"string",
"null"
]
},
"PanelQuantity": {
"type": [
"string",
"null"
]
},
"Principle": {
"type": [
"string",
"null"
]
},
"Type": {
"type": [
"string",
"null"
]
}
},
"required": ["Manufacturer", "Model", "Opening", "Quantity", "Principle", "Type"]
}
}
}
谢谢, 巴斯卡
听起来您想添加 "additionalProperties": false
-- 如果存在未在 properties
.