【问题标题】:Json Schema validation: do not allow fields other than those declared in schema [duplicate]Json Schema 验证:不允许在 schema 中声明的字段以外的字段 [重复]
【发布时间】:2015-01-29 05:13:09
【问题描述】:
假设我有类似的架构
fname: string
lname: string
age: string
它们都不是必需的。用户可以向我发送上述任何属性,但没有其他未声明的属性。他们可以通过我fname、lname 和age 或全部。但是,如果他们将所有和其他属性(如 middle_name)都传递给我,则该消息应该被拒绝。
如何定义这样的架构?
【问题讨论】:
标签:
json
validation
jsonschema
【解决方案1】:
您可以创建json-schema 并使用以下选项:
additionalProperties = false
这样你只允许在属性中定义的属性。在你的情况下:
{
"properties": {
"fname": {"type": "string"},
"lname": {"type": "string"},
"age": {"type": "string"}
},
"additionalProperties": false
}