71.10. 헤더를 입력으로 사용
기본적으로 JSONPath는 메시지 본문을 입력 소스로 사용합니다. 그러나 headerName 옵션을 지정하여 헤더를 입력으로 사용할 수도 있습니다.
예를 들어, 도서라는 헤더에 저장된 JSON 문서의 도서 수를 계산하려면 다음을 수행할 수 있습니다.
from("direct:start")
.setHeader("numberOfBooks")
.jsonpath("$..store.book.length()", false, int.class, "books")
.to("mock:result");
위의 jsonpath 표현식에서는 헤더 이름을 도서 로 지정하고, 결과가 int.class 에 의해 정수로 변환되기를 바랐습니다.
XML DSL의 동일한 예는 다음과 같습니다.
<route>
<from uri="direct:start"/>
<setHeader name="numberOfBooks">
<jsonpath headerName="books" resultType="int">$..store.book.length()</jsonpath>
</setHeader>
<to uri="mock:result"/>
</route>