Set Body
O EIP Set Body define ou modifica o corpo da mensagem.
Parâmetros
Parâmetro | Descrição | Valor padrão | Tipo |
---|---|---|---|
Expression |
Define o valor que será configurado no corpo da mensagem (body). |
ExpressionDefinition |
Expression
A expression permite calcular ou definir valores dinamicamente durante o processamento de mensagens no fluxo de integração. Ela é uma forma de configurar comportamentos que podem variar de acordo com o contexto da mensagem em trânsito.
A expressão está organizada em dois níveis hierárquicos que permitem que a estrutura seja mais extensível e adaptável a diferentes contextos:
-
Primeiro nível: especifica o tipo de lógica que será aplicada (constant, jsonPath, xPath etc.).
-
Segundo nível: define o valor efetivo da expressão, ou seja, o dado que será atribuído ao corpo da mensagem.
Tipos comuns de expressions
-
constant
: define um valor fixo, útil para mensagens estáticas. No exemplo, sempre define o corpo da mensagem como o JSON estático{"status": "error"}
.
- setBody:
expression:
constant:
expression: '{"status": "error"}'
-
jsonpath
: extrai dados do corpo da mensagem quando ele está em formato JSON. No exemplo, extrai o valor localizado em$.data.attributes
do JSON no corpo da mensagem.
- setBody:
expression:
jsonpath:
path: '$.data.attributes'
-
xpath
: extrai informações quando o corpo da mensagem está em formato XML. No exemplo, seleciona o nó XML correspondente a/response/body/item
do corpo da mensagem.
- setBody:
expression:
xpath:
path: '/response/body/item'
-
script
: permite usar linguagens de script (JavaScript, Groovy, etc.) para criar um corpo dinâmico. No exemplo, executa um script JavaScript para gerar dinamicamente o corpo da mensagem.
- setBody:
expression:
script:
language: 'javascript'
expression: 'return {"status": "ok"};'
-
binary
: define um corpo binário, útil para enviar arquivos ou dados não textuais. No exemplo, configura o corpo da mensagem como dados codificados em Base64.
- setBody:
expression:
binary:
content: 'base64encodedData'
Exemplo
- setBody:
id: setBody-2360
expression:
simple:
expression: "<request><id>${header.id}</id></request>"
-
O trecho de código define o corpo da mensagem como um XML dinâmico contendo um elemento
<id>
. -
O parâmetro
expression
utiliza a linguagem simples, que permite inserir valores dinâmicos e realizar manipulações simples de strings. -
A expressão
${header.id}
insere no XML o valor do cabeçalho (header) chamado "id". -
Por exemplo, se o cabeçalho "id" tiver o valor 123, o corpo da mensagem será configurado assim:
<request><id>123</id></request>
Share your suggestions with us!
Click here and then [+ Submit idea]