Set Header
O EIP Set Header define ou modifica o cabeçalho da mensagem.
Parâmetros
Parâmetro | Descrição | Valor padrão | Tipo |
---|---|---|---|
Name |
Nome do cabeçalho da mensagem que será configurada. |
String |
|
Expression |
Define o valor que será configurado no cabeçalho. É obrigatório e pode usar diversas linguagens de expressão suportadas, como Simple, XPath, JSONPath. |
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, simple, jsonpath etc).
-
Segundo nível: define o valor efetivo da expressão, ou seja, o dado que será atribuído ao cabeçalho.
Tipos comuns de expressions
-
constant
: define um valor fixo. No exemplo, sempre retornará"400"
.
- setHeader:
name: my-header-name
expression:
constant:
expression: "400"
-
simple
: permite usar placeholders e lógica simples para acessar dados da mensagem. No exemplo, retorna o valor do cabeçalhooperacao
.
- setHeader:
name: my-header-name
expression:
simple:
expression: "${header.operacao}"
-
jsonpath
: extrai informações de mensagens com corpo em JSON. No exemplo, retorna o valor do campotoken
dentro do objetodata
.
- setHeader:
name: my-header-name
expression:
jsonpath:
expression: "$.data.token"
-
xpath
: extrai informações de mensagens com corpo em XML. No exemplo, retorna o atributoid
do nócustomer
dentro deorder
.
- setHeader:
name: my-header-name
expression:
xpath:
expression: "/order/customer/@id"
-
groovy/javascript/python
(ou outra linguagem de script): usa scripts personalizados para operações complexas. No exemplo, a expressão verifica o comprimento do corpo da mensagem. Se o corpo da mensagem contiver dados, define o cabeçalho comoValid
; se estiver vazio, define comoInvalid
. Ele usa o Groovy para realizar essa verificação de maneira condicional.
- setHeader:
name: my-header-name
expression:
groovy:
expression: "return request.body.length() > 0 ? 'Valid' : 'Invalid'"
Exemplo
-
O exemplo a seguir define o nome do cabeçalho como
Content-Type
. -
O parâmetro
expression
é configurado comoconstant
, ou seja, terá um valor fixo. Esse valor será sempreapplication/json
, indicando que o corpo da requisição será no formato JSON.
- setHeader:
id: setHeader-4103186938
description: Set header urlencoded
expression:
constant:
expression: application/json
name: Content-Type
Share your suggestions with us!
Click here and then [+ Submit idea]