84.6. 内联简单表达式
可以使用 简单 语法 ${xxx}
在 JSONPath 表达式中内联简单语言。
下面是一个示例:
from("direct:start") .choice() .when().jsonpath("$.store.book[?(@.price < ${header.cheap})]") .to("mock:cheap") .when().jsonpath("$.store.book[?(@.price < ${header.average})]") .to("mock:average") .otherwise() .to("mock:expensive");
在 XML DSL 中:
<route> <from uri="direct:start"/> <choice> <when> <jsonpath>$.store.book[?(@.price < ${header.cheap})]</jsonpath> <to uri="mock:cheap"/> </when> <when> <jsonpath>$.store.book[?(@.price < ${header.average})]</jsonpath> <to uri="mock:average"/> </when> <otherwise> <to uri="mock:expensive"/> </otherwise> </choice> </route>
您可以通过将选项 allowSimple
设置为 false
来关闭对内联简单表达式的支持,如下所示:
.when().jsonpath("$.store.book[?(@.price < 10)]", false, false)
在 XML DSL 中:
<jsonpath allowSimple="false">$.store.book[?(@.price < 10)]</jsonpath>