68.10. 使用标头作为输入


默认情况下,JSONPath 使用消息正文作为输入源。但是,您可以通过指定 headerName 选项,将标头用作输入。

例如,若要计算 JSON 文档中的图书数量,该文档存储在名为 book 的标头中,您可以执行以下操作:

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 name="numberOfBooks">
    <jsonpath headerName="books" resultType="int">$..store.book.length()</jsonpath>
  </setHeader>
  <to uri="mock:result"/>
</route>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.