2016-07-27 88 views

回答

3

我發現了一個辦法,把它與處理器組件和一些Java代碼來完成:

String jsonpathFilter = SimpleLanguage.simple(
    "$.person[?(@.role=='${headers.role}')]").evaluate(exchange, String.class); 
String result = new JsonPathExpression(jsonpathFilter).evaluate(exchange, String.class); 
exchange.getIn().setBody(result); 

但我不是很高興與此解決方案。所以如果你知道更好的方法,請告訴我。

+0

Gotcha - 在這種情況下,您自己的解決方案是首選的,直到CAMEL-10189 已得到解決(這或多或少地與您一樣做)。我刪除了我的答案。 –

1

不,這是不可能的直接在語法中,但它是一個好主意。所以我已經登錄了一張票:https://issues.apache.org/jira/browse/CAMEL-10189

如果我們有這個開箱即用的話,它適用於任何DSL,比如Java和XML DSL。

+0

謝謝,這將使它在未來更容易。 – JBernhardt

相關問題