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.
Vea cómo agregar un lenguaje de expresión directamente a través del formulario de un EIP en la pestaña Diagram:

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. |
Share your suggestions with us!
Click here and then [+ Submit idea]