Validator V2
Conheça o componente e saiba como utilizá-lo.
O Validator V2 (JSON Schema) valida um conteúdo JSON com base em um JSON Schema.
JSON Schema é uma linguagem padrão de mercado usada para anotar e validar documentos JSON, que funciona como um “contrato” a ser seguido pelo componente. Para saber mais, visite a documentação oficial do JSON Schema.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).
Schema Draft version
Versão do Schema Draft. Versões suportadas: v4, v6, v7, v2019-09 e v2020-12.
v4
String
Detect Draft version
Se esta opção estiver ativada, a versão do Schema Draft será baseada na versão inserida no parâmetro JSON Schema.
False
Booleano
JSON Payload (DB)
Conteúdo JSON a ser validado.
N/A
String
JSON Schema (DB)
JSON Schema que será usado como base para a validação do conteúdo JSON.
N/A
String
Simplify validation results
Se esta opção estiver ativada, os erros de validação serão exibidos de forma simplificada; caso contrário, serão exibidos de forma detalhada.
False
Booleano
Fail on Error
Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
False
Booleano
Fluxo de mensagens
Saída
Se o Validator V2 validar com sucesso o conteúdo JSON, terá como saída o JSON configurado no parâmetro JSON Payload.
Já em casos de erro, o componente terá como saída um conteúdo JSON com a seguinte estrutura por padrão:
{
"success": false,
"validation": [
{
"type": "type",
"code": "1029",
"path": "$.code",
"schemaPath": "#/properties/code/type",
"arguments": [
"string",
"integer"
],
"details": null,
"message": "$.code: string found, integer expected"
},
{
"type": "required",
"code": "1028",
"path": "$",
"schemaPath": "#/required",
"arguments": [
"field"
],
"details": null,
"message": "$.field: is missing but it is required"
}
]
}
O array "validation" contém um objeto JSON para cada validação realizada. Cada objeto JSON tem as seguintes propriedades:
type: o tipo de validação aplicada.
code: código interno da validação.
path: caminho no qual a propriedade validada está configurada no conteúdo JSON.
schemaPath: caminho no qual a propriedade validada está configurada no JSON Schema.
arguments: dados da propriedade analisada durante a validação.
details: detalhes adicionais da validação.
message: mensagem referente ao erro encontrado.
Se a opção Simplify validation results estiver ativada, o array "validation" irá conter apenas mensagens de erro, como esta:
{
"success": false,
"validation": [
"$.code: string found, integer expected",
"$.field: is missing but it is required"
]
}
Se o parâmetro Fail on Error estiver ativado, um erro de status http 500 (Internal Server Error) é retornado para todo erro que occorer quando o componente for executado:
{
"timestamp": 1703004877585,
"error": "com.digibee.pipelineengine.elements.connector.ValidatorConnectorV2$PayloadNotMatchSchemaException: [{\"type\":\"required\",\"code\":\"1028\",\"path\":\"$\",\"schemaPath\":\"#/required\",\"arguments\":[\"nome\"],\"details\":null,\"message\":\"$.nome: is missing but it is required\"}]",
"code": 500
}
Isto foi útil?