Validator V1 (Descontinuado)

Descubra mais sobre o componente Validator V1 e saiba como utilizá-lo na Digibee Integration Platform.

A funcionalidade Validator V1 foi descontinuada e não recebe mais atualizações. Por favor, acesse o documento com a versão mais recente da funcionalidade: Validator V2.

O Validator tem a função de analisar um JSON de entrada e compará-lo ao schema fornecido, para que seja criada uma validação dentro de seu pipeline e interrompa o fluxo se a estrutura não estiver de acordo com o declarado.

JSON Schema é um vocabulário bastante difundido no mercado, que permite validar documentos JSON. Para saber mais, visite a documentação oficial do JSON.

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âmetro
Descrição
Valor padrão
Tipo de dado

JSON Schema

Definição JSON Schema que valida o JSON.

N/A

JSON

Fluxo de mensagens

Entrada

O componente aceita mensagens de entrada do tipo JSON para realizar a validação.

{
   "data": [
       {
           "product": "Samsung 4k Q60T 55",
           "price": 3278.99
       },
       {
           "product": "Samsung galaxy S20 128GB",
           "price": 3698.99
       }
   ]
}

Saída

O componente não altera nenhuma informação da mensagem de entrada quando o JSON Validator estiver de acordo com JSON Schema. Portanto, a mensagem é retornada para o componente seguinte ou é utilizada como resposta final se esse componente for o último passo do pipeline.

{
   "data": [
       {
           "product": "Samsung 4k Q60T 55",
           "price": 3278.99
       },
       {
           "product": "Samsung galaxy S20 128GB",
           "price": 3698.99
       }
   ]
}

Validator em ação

Veja abaixo como o componente se comporta em determinada situação e a sua respectiva configuração.

Informando um schema e enviando um JSON que não atende aos requisitos

Configure o componente com o seguinte schema:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "price": {
      "type": "number"
    }
  },
  "required": [
    "name",
    "price"
  ]
}

Depois, envie o seguinte JSON para o componente:

Entrada

{
    "name": "Samsung galaxy S20 128GB",
    "price": 3698.99
}

Saída

{
  "timestamp": 1614186691087,
  "error": "Failed to validate message. #Validation: error: object has missing required properties ([\"product\"])\n    level: \"error\"\n    schema: {\"loadingURI\":\"#\",\"pointer\":\"\"}\n    instance: {\"pointer\":\"\"}\n    domain: \"validation\"\n    keyword: \"required\"\n    required: [\"price\",\"product\"]\n    missing: [\"product\"]\n",
  "code": 400
}

Informando um schema e enviando um JSON que atende aos requisitos

Configure o componente com o seguinte schema:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": [
        {
          "type": "object",
          "properties": {
            "product": {
              "type": "string"
            },
            "price": {
              "type": "number"
            }
          },
          "required": [
            "product",
            "price"
          ]
        },
        {
          "type": "object",
          "properties": {
            "product": {
              "type": "string"
            },
            "price": {
              "type": "number"
            }
          },
          "required": [
            "product",
            "price"
          ]
        }
      ]
    }
  },
  "required": [
    "data"
  ]
}

Depois, envie o seguinte JSON para o componente:

Entrada

{    
    "product": "Samsung galaxy S20 128GB",    
    "price": 3698.99
}

Saída

{    
    "product": "Samsung galaxy S20 128GB",    
    "price": 3698.99
}

Atualizado