187.11. ヘッダーの入力としての使用
Camel 2.20 以降で利用可能
デフォルトでは、jsonpath はメッセージボディーを入力ソースとして使用します。ただし、headerName
オプションを指定して、ヘッダーを入力として使用することもできます。
たとえば、books
という名前のヘッダーに保存された json ドキュメントから書籍数をカウントするには、次のようにします。
from("direct:start") .setHeader("numberOfBooks") .jsonpath("$..store.book.length()", false, int.class, "books") .to("mock:result");
上記の jsonpath
式では、ヘッダーの名前を books
として指定し、結果を int.class
で整数として変換することも指示しました。
XML DSL での同じ例は次のようになります。
<route> <from uri="direct:start"/> <setHeader headerName="numberOfBooks"> <jsonpath headerName="books" resultType="int">$..store.book.length()</jsonpath> </transform> <to uri="mock:result"/> </route>