-
Notifications
You must be signed in to change notification settings - Fork 330
Closed
Description
Below code:
import static com.networknt.schema.SpecVersion.VersionFlag.V202012;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.networknt.schema.JsonSchemaFactory;
String schema =
"{"
+ " \"type\": \"object\","
+ " \"properties\": {"
+ " \"myKey\" : {"
+ " \"type\" : \"string\","
+ " \"oneOf\" : ["
+ " { \"const\": \"aa\" },"
+ " { \"const\": \"bb\" }"
+ " ]"
+ " }"
+ " }"
+ "}";
String serializedData = "{ \"myKey\" : \"cc\"}";
JsonNode data = new ObjectMapper().readTree(serializedData);
JsonSchemaFactory.getInstance(V202012)
.getSchema(schema)
.validate(data)
.forEach(System.out::println);
gives below validation errors:
$.myKey: should be valid to one and only one schema, but 0 are valid
$.myKey: must be a constant value aa
$.myKey: must be a constant value bb
It would be very helpful if validation errors were:
$.myKey: should be valid to one and only one schema, but 0 are valid
$.myKey: must be a constant value aa but is cc
$.myKey: must be a constant value bb but is cc
so that we can clearly see what has mismatched directly from error.
Metadata
Metadata
Assignees
Labels
No labels