0
我登錄的終端可以具有「社會」登錄和「用戶」登錄,這樣身體既可以是這樣的:JSON模式,oneOf驗證
user: {
email: '[email protected]',
password: 'test'
}
或者這樣:
authentication: {
provider: 'facebook',
token: 'abcd'
}
我想要創建一個驗證第一個正文或第二個正文的JSON模式。我偶然發現了oneOf
這是我曾嘗試:
body: {
oneOf: [{
properties: {
user: {
type: 'object',
required: [
'email',
'password'
],
email: {
type: 'string',
format: 'email'
},
password: {
type: 'string',
minLength: 6,
maxLength: 32
}
},
}
}, {
properties: {
authentication: {
type: 'object',
required: [
'provider',
'token'
],
provider: {
type: 'string',
enum: ['facebook']
},
token: {
type: 'string'
}
}
}
}]
}
但是這給了我以下錯誤:
{
"keyword": "oneOf",
"dataPath": ".body",
"schemaPath": "#/properties/body/oneOf",
"params": {},
"message": "should match exactly one schema in oneOf"
}
將是真棒,如果有人能幫助我做一個JSON模式設置爲這個。謝謝
你的模式是甚至沒有有效的JSON。請修復。 –