You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
1.9 KiB

  1. {
  2. "$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
  3. "required": [
  4. "some_base_property",
  5. "grand",
  6. "SomeUntaggedBaseProperty",
  7. "id",
  8. "name",
  9. "TestFlag",
  10. "age",
  11. "email"
  12. ],
  13. "properties": {
  14. "SomeUntaggedBaseProperty": {
  15. "type": "boolean"
  16. },
  17. "TestFlag": {
  18. "type": "boolean"
  19. },
  20. "age":{
  21. "maximum": 120,
  22. "minimum": 18,
  23. "exclusiveMaximum": true,
  24. "exclusiveMinimum": true,
  25. "type": "integer"
  26. },
  27. "email": {
  28. "type": "string",
  29. "format": "email"
  30. },
  31. "birth_date": {
  32. "type": "string",
  33. "format": "date-time"
  34. },
  35. "feeling": {
  36. "oneOf": [
  37. {
  38. "type": "string"
  39. },
  40. {
  41. "type": "integer"
  42. }
  43. ]
  44. },
  45. "friends": {
  46. "items": {
  47. "type": "integer"
  48. },
  49. "type": "array"
  50. },
  51. "grand": {
  52. "$schema": "http:\/\/json-schema.org\/draft-04\/schema#",
  53. "$ref": "#\/definitions\/GrandfatherType"
  54. },
  55. "id": {
  56. "type": "integer"
  57. },
  58. "name": {
  59. "type": "string",
  60. "maxLength": 20,
  61. "minLength": 1
  62. },
  63. "network_address": {
  64. "type": "string",
  65. "format": "ipv4"
  66. },
  67. "photo": {
  68. "type": "string",
  69. "media": {
  70. "binaryEncoding": "base64"
  71. }
  72. },
  73. "some_base_property": {
  74. "type": "integer"
  75. },
  76. "tags": {
  77. "patternProperties": {
  78. ".*": {
  79. "additionalProperties": true,
  80. "type": "object"
  81. }
  82. },
  83. "type": "object"
  84. },
  85. "website": {
  86. "type": "string",
  87. "format": "uri"
  88. }
  89. },
  90. "additionalProperties": false,
  91. "type": "object",
  92. "definitions": {
  93. "GrandfatherType": {
  94. "required": [
  95. "family_name"
  96. ],
  97. "properties": {
  98. "family_name": {
  99. "type": "string"
  100. }
  101. },
  102. "additionalProperties": false,
  103. "type": "object"
  104. }
  105. }
  106. }