Linguagens de expressão
Uma linguagem de expressão é uma maneira de definir condições ou de manipular mensagens de forma declarativa. Elas são usadas para avaliar e manipular dados dentro de uma mensagem, permitindo a criação de rotas mais complexas e flexíveis.
Veja como adicionar uma linguagem de expressão diretamente pelo formulário de um EIP na aba Diagram:

Aqui estão as linguagens de expressão suportadas pelo Sensedia Integrations:
| Os exemplos mostram o uso das linguagens no componente Choice, mas podem ser usadas em qualquer contexto que suporte linguagens. | 
- 
Constant: retorna um valor constante.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  constant:
                    expression: 'sensedia'
                steps:
                - log:
                    message: 'When ativado'
- 
ExchangeProperty: acessa propriedades do Exchange.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  exchangeProperty:
                    expression: 'myproperty'
                steps:
                - log:
                    message: 'When ativado'
- 
Groovy: usa scripts Groovy para manipular mensagens.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  groovy:
                    expression: 'Math.random() > 0.5'
                steps:
                - log:
                    message: 'When ativado'
- 
Header: acessa valores dos cabeçalhos das mensagens.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  header:
                    expression: 'myheader'
                steps:
                - log:
                    message: 'When ativado'
- 
JQ: usa a linguagem JQ para consultar e manipular JSON.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  jq:
                    expression: '.store.book.price < 30'
                steps:
                - log:
                    message: 'When ativado'
- 
JSONPath: similar ao XPath, mas para JSON.
 
     - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  jsonpath:
                    expression: $.model.Details[?(@['Random nonsense'] == 'New today')]
                steps:
                - log:
                    message: 'When ativado'
- 
OGNL: usa expressões Object-Graph Navigation Language para acessar dados.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  ognl:
                    expression: 'request.headers.foo == "bar"'
                steps:
                - log:
                    message: 'When ativado'
- 
Simple: uma linguagem simples para expressões e manipulações.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  simple:
                    expression: ${header.id} == 2
                steps:
                - log:
                    message: 'When ativado'
- 
XPath: usada para consultar e manipular XML.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  xpath:
                    expression: '/person/@id > 30'
                steps:
                - log:
                    message: 'When ativado'
- 
XQuery: usa XQuery para consultar e manipular XML.
 
      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise ativado'
              when:
              - expression:
                  xquery:
                    expression: '//foo/id > 30'
                steps:
                - log:
                    message: 'When ativado'
| Para mais detalhes, acesse a documentação oficial do Apache Camel. | 
Share your suggestions with us!
          Click here and then [+ Submit idea]