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).

ParâmetroDescriçãoValor padrãoTipo de dado

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
}

Atualizado