如何检查Camel路由中的jsonpath是否存在键?

f0brbegy  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(208)

下面的JSON对象需要检查是否存在键。如果键存在并且值为空,那么我想将TH设置为默认语言。
在 Camel 路线上怎么做?
第一个

ghhaqwfi

ghhaqwfi1#

您可以使用**suppressExceptions**标志

.setHeader("languagePreference").jsonpath("$.languagePreference", true)

如果缺少键,则不会抛出异常。之后,您可以检查头中的值,如果头为空,则可以分配所需的值(检查头值的方法有很多)。

//.choice().when(PredicateBuilder.or(header("languagePreference").isNull() , header("languagePreference").isEqualTo("")))
        .choice().when().simple("${header.languagePreference} == null || ${header.languagePreference} == ''")
           .setHeader("languagePreference").constant("TH")
        .end()

相关问题