Marshal
O EIP Marshal converte o formato interno (objetos ou estruturas) para um formato externo (como JSON ou XML) para comunicação ou armazenamento. Por exemplo, ele pode converter um objeto Java em uma representação JSON ou XML.
Custom
Na lista de tipos de formatos de dados disponíveis em Data Format Type, existe a opção Custom.
Com ela, você pode utilizar Excel como referência, possibilitando que o fluxo de integração processe arquivos nos formatos .xls
e .xlsx
.
Este data format converterá as linhas da planilha especificada em um array de objetos JSON. O objeto JSON gerado para cada célula conterá, além do valor, metadados sobre o tipo do dado.
Os estilos visuais da planilha (cor da célula, cor da fonte, negrito, bordas e outros) não são importados. Além disso, o componente ainda não oferece suporte a fórmulas. |
Confira abaixo um exemplo de uso:
-
Quando alguém acessa
GET /teste-excel
, o fluxo baixa um arquivo Excel de um servidor SFTP. -
Depois, transforma o conteúdo em JSON e retorna esse JSON como resposta da API, já com o cabeçalho
Content-Type: application/json
.
- from:
uri: rest:get:/teste-excel
steps:
- log:
message: "Iniciando o download do arquivo via SFTP."
- pollEnrich:
expression:
simple: "sftp:eu-central-1.sftpcloud.io:22/download?username={{user}}&password={{pass}}&passiveMode=true&delete=false&fileName={{file}}&binary=true&knownHostsFile=/dev/null&strictHostKeyChecking=no"
- log:
message: "Download concluído. Convertendo para JSON."
- convertBodyTo:
type: byte[]
- marshal:
custom:
ref: excel
- setHeader:
name: Content-Type
constant: application/json
O Excel também pode ser usado como referência em fluxos com o EIP unmarshal. |
Exemplos
Veja a seguir exemplos de outros formatos:
-
CSV
-
A mensagem será convertida para
csv
. -
Nenhum parâmetro adicional é necessário.
-
- marshal:
csv: {}
-
JSON
-
A mensagem será convertida para
json
. -
Será usada a biblioteca
Jackson
para serializar o corpo da mensagem.
-
- marshal:
json:
library: Jackson
-
XML
-
A mensagem será convertida para XML.
-
O
jacksonXml
utiliza a bibliotecaJackson
, mas também existe o formato genéricoxml
.
-
- marshal:
jacksonXml: {}
- marshal:
xml: {}
Veja como adicionar um data format diretamente pelo formulário do EIP na aba Diagram:
Ao selecionar o formato JSON, o campo Library é preenchido automaticamente com o valor padrão "Jackson". Como é o padrão, ele não é exibido no script do fluxo na aba Source Code, aparecendo apenas se for alterado para um valor diferente. |
Share your suggestions with us!
Click here and then [+ Submit idea]