JSON Schema Resolver
implproposalDerive schema definitions from external JSON schema files.
Scope
When this extension is enabled schema references can point to JSON schema files in addition to local fragments. The reference can be either a URL or a relative path to a file in resources/schemas. It also supports referencing sub-schemas in $defs. Examples:
https://example.com/buildings.jsonhttps://example.com/buildings.json#/$defs/addressbuildings.jsonbuildings.json#/$defs/address
Limitations
Compositions are only supported to some extent:
- oneOf Only the first variant is used.
- anyOf Only the first variant is used.
- allOf The first variant is used as main schema. Properties from additional variants are merged into the main schema.
Configuration
Options
| Name | Default | Description | Type | Since |
|---|---|---|---|---|
type | Always JSON_SCHEMA. | string | v2.0 | |
enabled | false | Enable the extension? | boolean | v2.0 |
objectTypeRefs | {} | Allows to map JSON schema definitions to an objectType, e.g. '#/$defs/Link': Link. | object | v3.4 |
geometryTypeRefs | {} | Allows to map JSON schema definitions to a geometryType, e.g. https://geojson.org/schema/LineString.json': LINE_STRING. | object | v3.4 |
relationRefs | {} | Allows to map JSON schema definitions to a refType, e.g. '#/$defs/Address': address. | object | v3.4 |
compositionIndexes | 0 | Allows to choose a specific variant for oneOf/anyOf/allOf. | object | v3.4 |
Example
- type: JSON_SCHEMA
enabled: true
objectTypeRefs:
'#/$defs/Link': Link