189.12. 헤더를 입력으로 사용
Camel 2.20부터 사용 가능
기본적으로 jsonpath는 메시지 본문을 입력 소스로 사용합니다. 그러나 headerName 옵션을 지정하여 헤더를 입력으로 사용할 수도 있습니다.
예를 들어, 수행할 수 있는 book이라는 헤더에 저장된 json 문서의 서적 수를 계산하려면 다음을 수행합니다.
from("direct:start")
.setHeader("numberOfBooks")
.jsonpath("$..store.book.length()", false, int.class, "books")
.to("mock:result");
위의 jsonpath 표현식에서 book 로 헤더의 이름을 지정하고 결과를 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>