JsonSchema
org.sagebionetworks.repo.model.schema.JsonSchema
The JSON schema is defined by: json-schema.org, specifically draft-07. Only features listed here are currently supported.
| Field | Type | Description |
|---|---|---|
| $schema | STRING | See: The "$schema" Keyword |
| $id | STRING | See: The "$id" Keyword |
| $ref | STRING | See: Direct References with "$ref" |
| type | Type | See: Instance Data Model |
| items | JsonSchema | |
| properties | MAP<STRING,JsonSchema> | See: properties |
| title | STRING | See: title |
| description | STRING | See: description |
| allOf | ARRAY<JsonSchema> | Use allOf to 'extend' or 'implement' one or more schemas. See: allOf |
| anyOf | ARRAY<JsonSchema> | See: anyOf |
| oneOf | ARRAY<JsonSchema> | See: oneOf |
| not | JsonSchema | |
| format | STRING | See: Defined Formats |
| definitions | MAP<STRING,JsonSchema> | In an effor to support draft-07 implementations, we are using 'definitions' instead of '$defs'. See: Appendix A |
| enum | ARRAY<OBJECT> | See: enum |
| const | OBJECT | See: const |
| source | STRING | Used to indicate that this schema is derived from another object/schema. The value should be a URL reference to the original work. The 'source' is solely descriptive and should have no impact on validation. |
| required | ARRAY<STRING> | See: required |
| maxLength | INTEGER | See: maxLength |
| minLength | INTEGER | See: minLength |
| maxItems | INTEGER | See: maxItems |
| minItems | INTEGER | See: minItems |
| uniqueItems | BOOLEAN | See: uniqueItems |
| pattern | STRING | See: pattern |
| if | JsonSchema | |
| then | JsonSchema | |
| else | JsonSchema | |
| maximum | INTEGER | See: maximum |
| minimum | INTEGER | See: minimum |
| default | OBJECT | See: default |
| contains | JsonSchema | |
| additionalProperties | JsonSchema |