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 campotokendentro 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 atributoiddo nócustomerdentro 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]