74.5. 禁止异常
默认情况下,如果 json 有效负载没有与配置的 jsonpath 表达式的有效路径,jsonpath 将抛出异常。在某些情况下,如果 json 有效负载包含可选数据,您可能需要忽略它。因此,您可以将 prevent Exceptions 选项设置为 true 以忽略它,如下所示:
from("direct:start")
.choice()
// use true to suppress exceptions
.when().jsonpath("person.middlename", true)
.to("mock:middle")
.otherwise()
.to("mock:other");
在 XML DSL 中:
<route>
<from uri="direct:start"/>
<choice>
<when>
<jsonpath suppressExceptions="true">person.middlename</jsonpath>
<to uri="mock:middle"/>
</when>
<otherwise>
<to uri="mock:other"/>
</otherwise>
</choice>
</route>
此选项也可用于 @JsonPath 注释。