-
Notifications
You must be signed in to change notification settings - Fork 330
Closed
Labels
Description
There is error when validating using schema generated by jackson 2.9.6:
CODE:
public void generateSchema() throws IOException {
ObjectMapper mapper = new ObjectMapper();
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
JsonSchema schema = schemaGen.generateSchema(SampleEvent.class);
String stringSchema = mapper.writeValueAsString(schema);
JsonParser parser = mapper.getFactory().createParser(stringSchema);
JsonNode schemaNode = parser.readValueAsTree();
JsonSchemaFactory factory = JsonSchemaFactory.getInstance();
com.networknt.schema.JsonSchema schemaOut = factory.getSchema(schemaNode);
}
POJO:
@lombok.Data
public static class SampleEvent {
private Instant dateFrom;
private Instant dateTo;
}
SCHEMA:
{
"type": "object",
"id": "urn:jsonschema:net:sample:SimpleEvent",
"properties": {
"dateFrom": {
"type": "object",
"id": "urn:jsonschema:java:time:Instant",
"properties": {
"nano": {
"type": "integer"
},
"epochSecond": {
"type": "integer"
}
}
},
"dateTo": {
"type": "object",
"$ref": "urn:jsonschema:java:time:Instant"
}
}
}
ERROR:
at java.lang.String.substring(String.java:1967)
at com.networknt.schema.RefValidator.obtainAbsolutePath(RefValidator.java:94)
at com.networknt.schema.RefValidator.getRefSchema(RefValidator.java:60)
at com.networknt.schema.RefValidator.<init>(RefValidator.java:45)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.networknt.schema.ValidatorTypeCode.newValidator(ValidatorTypeCode.java:121)
at com.networknt.schema.JsonMetaSchema.newValidator(JsonMetaSchema.java:240)
... 41 more