2

需要检查下面的这个 JSON 对象是否存在键。如果键存在并且值为空,那么我想设置TH为默认语言。

如何在骆驼路线中做到这一点?

{ "languagePreference":"" }
 //set default value of language preference as TH
.setHeader("languagePreference").jsonpath("$.languagePreference")
4

1 回答 1

4

你可以使用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()
于 2019-11-28T07:54:59.430 回答