Estruturas complexas de REST API no Jitterbit App Builder
Visão geral
Por padrão, uma solicitação GET contra um recurso de REST API do App Builder retorna dados de uma única tabela. A REST API do App Builder também suporta estruturas complexas: aninhando dados de tabelas relacionadas em uma única resposta JSON, em vez de exigir que o chamador faça uma solicitação separada para cada tabela relacionada.
Por exemplo, um recurso customer poderia aninhar seus orders relacionados, e cada pedido poderia, por sua vez, aninhar seus items, de modo que uma única solicitação GET contra customer retorna um cliente junto com seus pedidos e os itens de linha de cada pedido, tudo em uma única resposta.
Nota
Estruturas complexas são suportadas apenas para operações GET. Outros métodos HTTP, como POST e PUT, não são suportados.
Esta página aborda:
-
Adicionar um nó filho
Aninhar dados de uma tabela sob um recurso ou nó existente. -
Parâmetros do nó
As propriedades disponíveis em cada nó, definidas ao adicionar ou editar um. -
Campos do nó
Os campos disponíveis em um nó e como controlam a saída JSON do nó. -
Consultar uma estrutura aninhada
Como os parâmetros de consulta$fieldse$expandse comportam uma vez que um recurso tem uma estrutura aninhada.
Adicionar um nó filho
Após publicar um recurso para seu recurso raiz, aninha-se dados adicionais sob ele adicionando nós filhos. Cada nó adicionado se torna um nível na estrutura JSON resultante e pode ter nós filhos adicionais, permitindo aninhar dados tão profundamente quanto o modelo de dados exigir.
-
Acesse IDE > REST APIs.
-
A aba REST APIs lista todos os endpoints atuais no painel Services. Localize o bloco do recurso que procura e clique no ícone para abrir a página REST API desse recurso.
-
Localize o endpoint ao qual deseja adicionar nós filhos no painel Resources. Clique no ícone para ver o diálogo Resource.
-
Na aba Nodes, clique em + Node. O diálogo Node é aberto:

-
Defina os parâmetros do novo nó, incluindo sob qual nó pai ele se aninha e de qual tabela recupera dados.
-
Clique em Save. O painel Fields fica disponível para este nó.
-
No painel Fields, clique em + Field para adicionar e configurar os campos do nó.
-
Repita as etapas 4 a 7 conforme necessário para aninhar nós filhos adicionais, inclusive sob o nó que acabou de criar, para aninhar uma estrutura com mais de um nível de profundidade.
Parâmetros do nó
Todo nó, seja o nó raiz implícito de um recurso ou um nó filho adicionado, tem as seguintes propriedades, que controlam como esse nível da estrutura é recuperado e representado na resposta:
| Nome | Descrição |
|---|---|
| Parent | O nó pai na hierarquia. |
| Name | O nome deste nó na estrutura de árvore. O nome pode incluir barras para aninhar a estrutura ainda mais profundamente, sem precisar criar um nó intermediário para cada nível. |
| Table | A tabela da qual recuperar dados. |
| Node Type | O tipo de nó.
|
| Expand By Default | Determina se os dados do nó são incluídos automaticamente na resposta. Os chamadores podem substituir isso usando o parâmetro de consulta $expand.
|
| GET Max Limit | O limite máximo de itens que podem ser retornados em uma solicitação GET, independentemente do que o chamador solicita. Se NULL, o valor máximo padrão para a REST API é usado. |
| Bindings | Configura as vinculações entre os nós pai e filho, para que o App Builder saiba qual coluna pai corresponde a qual coluna filho ao aninhar os dados. Após salvar o nó, um ícone de link aparece ao lado de Parent; clique nele para abrir o diálogo Bindings e mapeie cada coluna pai para sua coluna filho correspondente. |
Campos do nó
Cada campo que você adiciona ao painel Fields de um nó controla uma parte dos dados na saída JSON desse nó:
| Nome | Descrição |
|---|---|
| Index | A posição do campo no nó. |
| Name | A chave do objeto usada para este campo no documento JSON. Os nomes dos campos devem ser exclusivos dentro de um determinado nó e devem ser seguros para uso como chaves JSON: evite espaços e pontuação. |
| Column | A coluna da tabela ou objeto de negócio que respalda o campo. |
| Include By Default | Se o campo está incluído no documento por padrão. Os chamadores podem substituir isso usando o parâmetro de consulta $fields. |
Consultar uma estrutura aninhada
Depois que um recurso tem uma estrutura aninhada, dois parâmetros de consulta de convenção REST URI existentes se comportam de forma diferente quando um chamador o consulta:
-
$fieldsaceita um caminho para uma tabela filha, permitindo que os chamadores selecionem campos de dados aninhados em vez de apenas a tabela raiz:Valor Seleciona details/*Todos os campos da tabela filha details.details/nameApenas o campo nameda tabela filhadetails.*Todos os campos em todas as tabelas. -
$expandé um parâmetro verdadeiro/falso que permite a um chamador substituir a configuração Expand By Default de um nó, tanto para solicitações de item quanto de coleção.$expand=trueexpande o nó independentemente de seu padrão;$expand=falsesuprime a expansão independentemente de seu padrão.