147.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"
上記のルートでは、JSON ペイロードに middlename フィールドがないため、次のメッセージは JSonPath 式 person.middlename に失敗します。これを修正するために、例外を抑制しました。
{
"person": {
"firstname": "John",
"lastname": "Doe"
}
}