For Each: Exemplo de uso

Aprenda um exemplo de uso do componente For Each.

O objetivo do componente For Each é percorrer um array JSON e, para cada item do array, acionar um subpipeline. Para mais informações sobre o componente e seus parâmetros, veja a documentação do For Each.

Dê uma olhada no cenário de uso suportado a seguir:

  1. Obtenha um exemplo de JSON array através de uma chamada ao seguinte endereço: https://viacep.com.br/ws/RS/Porto%20Alegre/Domingos/json/ .Para este passo, utilize também o componente REST V2.

  2. O resultado da execução descrita no passo anterior deve retornar uma lista de endereços. Esses endereços estão contidos no objeto "body". Observe:


{
  "status": 200,
  "statusMessage": "OK",
  "body": [
    {
      "cep": "91420-270",
      "logradouro": "Rua São Domingos",
      "complemento": "",
      "bairro": "Bom Jesus",
      "localidade": "Porto Alegre",
      "uf": "RS",
      "ibge": "4314902",
      "gia": "",
      "ddd": "51",
      "siafi": "8801"
    },
    //omitted
  ],
  "headers": {
    "Access-Control-Allow-Credentials": "true",
    "Access-Control-Allow-Headers": "Content-Type, X-Request-With, X-Requested-By",
    "Access-Control-Allow-Methods": "GET",
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Max-Age": "86400",
    "Cache-Control": "max-age=3600, public",
    "Connection": "keep-alive",
    "Content-Type": "application/json; charset=utf-8",
    "Date": "Fri, 24 Nov 2023 15:20:41 GMT",
    "Expires": "Fri, 24 Nov 2023 16:20:41 GMT",
    "Pragma": "public",
    "Server": "nginx/1.22.0",
    "Transfer-Encoding": "chunked"
  }
}// Some code
  1. Com uma lista para o For Each percorrer, arraste o ícone do componente até a área de construção do pipeline.

  2. Clique no ícone do For Each para abrir as suas configurações e especificar a expressão JSON Path. É por meio dessa expressão que:

  • se especifica o array a ser iterado;

  • se adicionam filtros para iterar outros itens.

Exemplos:

  • $.body.*: percorre o array body inteiro.

  • $.body.[?(@.bairro == ‘Cristo Redentor’)].*: percorre o array somente quando o atributo "bairro" for igual a "Cristo Redentor".

  1. Acesse o ícone do For Each novamente para configurar o subpipeline de execução para cada linha.

É necessário existir ao menos um componente no subpipeline.

  1. Após desenhar o fluxo, execute o pipeline e observe que na saída do JSON é demonstrado um totalizador de execução. Para que a execução seja contabilizada com sucesso, adicione a mensagem "success" : true no último passo do subpipeline.

Exemplo:

Copie o conteúdo abaixo e cole na sua área de construção do pipeline utilizando o comando Ctrl + v (se utilizar Windows) ou Command + v (se utilizar MAC).

Isto foi útil?