68.10. 헤더를 입력으로 사용
기본적으로 JSONPath는 메시지 본문을 입력 소스로 사용합니다. 그러나 headerName 옵션을 지정하여 헤더를 입력으로 사용할 수도 있습니다.
예를 들어 이름이 지정된 서적 헤더에 저장된 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 name="numberOfBooks">
<jsonpath headerName="books" resultType="int">$..store.book.length()</jsonpath>
</setHeader>
<to uri="mock:result"/>
</route>