我正在使用以下定义用户列表的JSON模式。我使用模式一次注册多个用户。
我想知道是否有办法指定JSON中的每个对象都包含至少一个要注册的属性?
这是我的架构:
{
"description":"Schema definition for the request to register",
"type":"object",
"properties":{
"registerRequests":{
"type":"array",
"items":{
"type":"object",
"properties":{
"user":{
"type":"object",
"properties":{
"age":{
"type":"integer",
"optional":true,
"minimum":1950,
"maximum":2100
},
"name":{
"type":"object",
"properties":{
"code":{
"type":"string",
"pattern":"^[\\w\\s!@#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$"
},
"Desc":{
"type":"string",
"pattern":"^[\\w\\s!@#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$"
}
},
"optional":true
}
}
}
}
}
}
},
"additionalProperties":false
}
我注册两个用户的输入请求:
{
"registerRequests": [
{
"user": {
"age": "25",
"Desc": "Test"
}
},
{
"user": {
"age": "20"
}
}
]
}
这里我发送两个用户信息,每个用户对象请求包含至少一个属性。如果我添加第三个没有任何属性的对象,我想在JSON本身中限制请求,说每个用户对象至少需要一个字段。我正在寻找类似于模式或可选的属性。
答案 0 :(得分:0)
好的,这是一个很晚的答案,但是......
直至并包括草案v3,编号
草案v4(即将发布),是:"minProperties": 1
。