154.5. 在语言中配置选项
有些 语言 有您可能需要使用的额外配置。
例如,可以将 JSONPath 配置为忽略 JSON 解析错误。这在使用 Content Based Router 且希望将消息路由到不同的端点时。消息的 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. ,因为 JSON 有效负载没有中间名称字段。为了解决这个问题,我们限制了这个例外。
middlename
{
"person": {
"firstname": "John",
"lastname": "Doe"
}
}