Ir para o conteúdo

Estruturas Complexas de API REST no Jitterbit App Builder

Visão Geral

A API REST do App Builder suporta estruturas complexas de API REST para operações GET. Isso possibilita solicitar dados de várias tabelas e aninhar os resultados em uma única estrutura JSON retornada.

Nota

Outros métodos HTTP, como POST e PUT, não são suportados.

Configuração

  • Navegue até App Builder IDE > Expandir Sua Empresa > Publicar
  • Crie seu endpoint REST como de costume com sua tabela/endpoint raiz
  • Clique no ícone Estrutura para seu endpoint
  • Adicione recursos filhos conforme necessário

Parâmetros de recurso

Nome Descrição
Pai A tabela pai na hierarquia.
Nome O nome deste nó na estrutura da árvore. Observe que o nome pode incluir barras para aninhar a estrutura ainda mais.
Tabela A tabela da qual recuperar dados.
Tipo de Campo O tipo de campo.
  • Array de objetos: Este é o tipo padrão onde cada linha na tabela é um objeto JSON.
  • Array de escalares: Um array de itens de valor único, serializados para um array JSON de escalares. A tabela deve conter colunas Index e Value.
  • Objeto: Mapeia para um único objeto JSON (eliminando efetivamente o array JSON). A tabela deve retornar no máximo uma linha.
Expandir Por Padrão Se verdadeiro, a tabela é expandida por padrão (mostrada no JSON de saída). Se falso, o chamador REST precisará fornecer uma propriedade de string de consulta $expand=true para ver os dados
Observe que esta propriedade impacta apenas uma solicitação de coleção (por exemplo, /orders). Uma solicitação para um item específico em uma coleção (por exemplo, /orders/101) sempre expandirá tabelas filhas.
Limite Máximo de Itens Se fornecido, indica o limite máximo de itens que podem ser retornados em uma solicitação GET. Se NULL, o valor máximo padrão para a API REST é utilizado.
Vínculos de Recurso Configura os vínculos entre as tabelas pai e filho.

Alterações nos parâmetros de consulta

Os seguintes parâmetros de consulta foram modificados para funcionar com estruturas complexas de API REST:

  • $fields permite especificar tabelas filhas
    • Ex.: details/*: Todos os campos da tabela filha details
    • Ex.: details/name: Apenas o campo name da tabela filha details
    • Ex.: *: Todos os campos em todas as tabelas
  • $expand um parâmetro verdadeiro/falso adicionado para permitir que o chamador REST expanda tabelas que não são expandidas por padrão (ou vice-versa). Usado apenas para solicitações de coleção.
    • Ex.: $expand=true