Lenguajes de Expresión

Un lenguaje de expresión es una forma de definir condiciones o manipular mensajes de manera declarativa. Se utilizan para evaluar y manipular datos dentro de un mensaje, permitiendo la creación de rutas más complejas y flexibles.

Aquí están los lenguajes de expresión compatibles con Sensedia Integrations:

Los ejemplos muestran el uso de los lenguajes en el componente Choice, pero se pueden usar en cualquier contexto que soporte lenguajes.
  • Constant: retorna un valor constante.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  constant:
                    expression: 'sensedia'
                steps:
                - log:
                    message: 'When activado'
  • ExchangeProperty: accede a propiedades del Exchange.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  exchangeProperty:
                    expression: 'myproperty'
                steps:
                - log:
                    message: 'When activado'
  • Groovy: usa scripts Groovy para manipular mensajes.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  groovy:
                    expression: 'Math.random() > 0.5'
                steps:
                - log:
                    message: 'When activado'
  • Header: accede a valores de los encabezados de los mensajes.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  header:
                    expression: 'myheader'
                steps:
                - log:
                    message: 'When activado'
  • JQ: usa el lenguaje JQ para consultar y manipular JSON.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  jq:
                    expression: '.store.book.price < 30'
                steps:
                - log:
                    message: 'When activado'
  • JSONPath: similar a XPath, pero para JSON.

     - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: ''Otherwise activado'
              when:
              - expression:
                  jsonpath:
                    expression: $.model.Details[?(@['Random nonsense'] == 'New today')]
                steps:
                - log:
                    message: 'When activado'
  • OGNL: usa expresiones Object-Graph Navigation Language para acceder a datos.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  ognl:
                    expression: 'request.headers.foo == "bar"'
                steps:
                - log:
                    message: 'When activado'
  • Simple: un lenguaje simple para expresiones y manipulaciones.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  simple:
                    expression: ${header.id} == 2
                steps:
                - log:
                    message: ''When activado'
  • XPath: usada para consultar y manipular XML.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  xpath:
                    expression: '/person/@id > 30'
                steps:
                - log:
                    message: 'When activado'
  • XQuery: usa XQuery para consultar y manipular XML.

      - from:
          uri: rest:post:/demo
          parameters: {}
          steps:
          - choice:
              otherwise:
                steps:
                - log:
                    message: 'Otherwise activado'
              when:
              - expression:
                  xquery:
                    expression: '//foo/id > 30'
                steps:
                - log:
                    message: 'When activado'
Para más detalles, accede a la documentación oficial de Apache Camel.
Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]