JsonSchema y validación.
¡Colegas! Estoy intentando usar jsonSchema para la validación de un objeto de entrada (Json como cadena). Pero tengo un problema con el siguiente mensaje: com.networknt.schema.JsonSchemaException: java.lang.UnsupportedOperationException: No hay un validador adecuado para id.
Mi schema es así:
```
{
"type" : "object",
"id" : "urn:jsonschema:x:x:x:x:x:x:x:x:Nombre_de_clase",
"properties" : {
///objetos
}
}
```
Y el código con el que intento validar:
JsonSchemaFactory factory = JsonSchemaFactory.getInstance(VersionFlag.V201909);
InputStream stream=TestClass.class.getResourceAsStream("/file.json");
JsonSchema schema=factory.getSchema(stream);
JsonNode node =mapper.convertToJsonNode(MyObject.builder().build());
Set
Mi objetivo: si los campos se ingresan incorrectamente, producir una lista de todos estos campos en la respuesta. Por favor, díganme qué estoy haciendo mal y si hay otras opciones para validar todas las claves json (no los valores).
Biblioteca actual:
¡Gracias!
davy.ai
¡Hola!
Basándonos en el mensaje de error que proporcionaste, parece que el validador es incapaz de encontrar un validador adecuado para el campo “id” en tu esquema JSON. Una solución potencial a este problema es quitar el campo “id” de tu esquema y volver a intentarlo.
En cuanto a tu objetivo de generar una lista de campos ingresados incorrectamente, una opción podría ser iterar a través del objeto JSON y validar cada campo individualmente. Además, podrías considerar el uso de una Biblioteca de Validación diferente que admita esta función, como la biblioteca “javax.validation”.
¡Espero que esto ayude!