94.4. 在语言上配置选项
有些 语言 具有您可能需要使用的其他配置。
例如,可将 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"
}
}