{
|
|
"$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
|
|
"required": [
|
|
"some_base_property",
|
|
"grand",
|
|
"SomeUntaggedBaseProperty",
|
|
"id",
|
|
"name",
|
|
"TestFlag",
|
|
"age",
|
|
"email"
|
|
],
|
|
"properties": {
|
|
"SomeUntaggedBaseProperty": {
|
|
"type": "boolean"
|
|
},
|
|
"TestFlag": {
|
|
"type": "boolean"
|
|
},
|
|
"age":{
|
|
"maximum": 120,
|
|
"minimum": 18,
|
|
"exclusiveMaximum": true,
|
|
"exclusiveMinimum": true,
|
|
"type": "integer"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"birth_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"feeling": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"friends": {
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"grand": {
|
|
"$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
|
|
"$ref": "#\/definitions\/GrandfatherType"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 20,
|
|
"minLength": 1
|
|
},
|
|
"network_address": {
|
|
"type": "string",
|
|
"format": "ipv4"
|
|
},
|
|
"photo": {
|
|
"type": "string",
|
|
"media": {
|
|
"binaryEncoding": "base64"
|
|
}
|
|
},
|
|
"some_base_property": {
|
|
"type": "integer"
|
|
},
|
|
"tags": {
|
|
"patternProperties": {
|
|
".*": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"website": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"definitions": {
|
|
"GrandfatherType": {
|
|
"required": [
|
|
"family_name"
|
|
],
|
|
"properties": {
|
|
"family_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|