Template Transformer

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

O Template Transformer gera XML, HTML, texto e outros dados a partir de um template especificado. O componente pode receber dados para preencher o template dinamicamente a partir de um JSON recebido na sua mensagem de entrada.

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

Model Path

Caminho no qual o input de JSON encontra os modelos a serem utilizados no template (dotted notation).

body

String

Preserve Original

Se ativada, a opção preserva os campos originais recebidos na entrada do componente.

True

Booleano

Body

O template (string) a ser substituído e transformado durante o tempo de execução com os dados recebidos, via JSON, configurados na propriedade Model Path.

N/A

String

Fluxo de mensagens

Para entender melhor como utilizar o Template Transformer, clique aqui para ler o nosso artigo com exemplos ilustrados.

Exemplo de resposta de requisição ao Template Transformer contendo erro

{  
    "body": null,  
    "_error": "Can not construct instance of java.util.LinkedHashMap: no String-argument constructor/factory method to deserialize from String value ('')\n at [Source: N/A; line: -1, column: -1]",  
    "_body": ""
}
  • body: template transformado.

  • _error: descrição do erro que ocorreu na execução.

  • _body: se a opção Preserve Original estiver habilitada, a propriedade será exibida na saída contendo o JSON de entrada.

Entrada

Esse componente aceita receber um objeto JSON na sua entrada, utilizando uma linguagem chamada Freemarker para fazer as transformações e gerar o template. Ele vai buscar o JSON a ser utilizado dentro da propriedade de configuração Model Path.

Saída

A estrutura será equivalente à de entrada, porém com outro modelo e outra representação de template como string. Em caso de erro, a propriedade error será criada no mesmo nível da propriedade original.

A notação com pontos (dotted notation) de JSON vai procurar pelo elemento raiz que está sendo processado pelo pipeline e realizar um cruzamento de acordo com as especificações passados na propriedade Model Path.

Template Transformer em ação

Em uma representação do Model Path contendo a.b.c.d, "a" será procurado no elemento raiz. Em seguida será o "b", depois o "c" e finalmente o "d". Se um array for encontrado durante o cruzamento, então o algoritmo vai gerar um caminho de cruzamento para cada elemento no array. O algoritmo substitui todas as ocorrências do caminho definido em Model Path.

Sem erro

{ 
    "body": "TEMPLATE TRANSFORMADO"
    "_body": {}
}
  • _body: se a opção Preserve Original estiver habilitada, a propriedade será exibida na saída contendo o JSON de entrada

Com erro

{  
    "body": null,  
    "_error": "Can not construct instance of java.util.LinkedHashMap: no String-argument constructor/factory method to deserialize from String value ('')\n at [Source: N/A; line: -1, column: -1]",  
    "_body": ""
}

Tecnologia

Utilizamos o Freemarker para realizar nossas conversões e transformações no template dentro desse componente. Para conhecer mais sobre o Freemaker e como utilizá-lo, clique aqui.

Atualizado