135.5. 在语言上配置选项
有些 语言 有可能需要使用的额外配置。
例如,可将 JSONPath 配置为忽略 JSON 解析错误。当您使用基于内容的路由,并希望 将消息 路由到不同的端点时,这是目的。消息的 JSON 有效负载可以采用不同的形式,这意味着在某些情况下 JSonPath 表达式将失败,但其他时间不是。在这种情况下,您必须将 suppress-exception 设置为 true,如下所示:
- from:
uri: "direct:start"
steps:
- choice:
when:
- jsonpath:
expression: "person.middlename"
suppress-exceptions: true
steps:
- to: "mock:middle"
- jsonpath:
expression: "person.lastname"
suppress-exceptions: true
steps:
- to: "mock:last"
otherwise:
steps:
- to: "mock:other"
在上面的路由中,以下消息会失败 JSonPath 表达式 person.middlename,因为 JSON 有效负载没有 中间名称字段。为补救这一点,我们隐藏了例外。
{
"person": {
"firstname": "John",
"lastname": "Doe"
}
}