Skip to content

Behavior change of $ref resolution #406

@jorcasso

Description

@jorcasso

In our system we support some well known URNs that our clients can use in their schema definitions, using the $ref keyword, for example:

{
    "properties": {
        "someField": {
            "$ref": "urn:my-company:my-custom-type"
        }
    }
}

We use a custom URNFactory and works great.

But we have observed the way of the URN resolution has changed as of release 1.0.49. Previously, if a schema contained an unknown URN the call to JsonSchemaFactory.getSchema(...) failed with a JsonSchemaException. Now it does not fail in that moment but later, when calling to JsonSchema.validate(...). I suspect this change could be due to #377.

Is is possible to recover the old behavior and resolve the $ref keywords when getting the schema? that way we would ensure the schema instantiated is valid, or at least would it be possible to provide a way to load the $ref schemas eagerly after getting the schema instance?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions