Apache camel 在Apache Camel中使用带有可选值的setProperty()

Apache camel 在Apache Camel中使用带有可选值的setProperty(),apache-camel,Apache Camel,这是我骆驼路线的一部分。我在Postman中使用POST操作,通过在正文中指定“filePath”和“mailTo”,我将向我在mailTo下列出的任何人发送电子邮件。如果我想将mailTo作为可选参数,即用户不必输入此值,我将如何处理 我希望Camel能够聪明地处理这个异常,但是如果我现在在发送POST请求之前删除正文中mailTo中的值,它将显示PathNotFoundException。而我希望它能够在没有mailTo字段的情况下运行 {“filePath”:“whatever”、“mai

这是我骆驼路线的一部分。我在Postman中使用POST操作,通过在正文中指定“filePath”和“mailTo”,我将向我在mailTo下列出的任何人发送电子邮件。如果我想将mailTo作为可选参数,即用户不必输入此值,我将如何处理

我希望Camel能够聪明地处理这个异常,但是如果我现在在发送POST请求之前删除正文中mailTo中的值,它将显示PathNotFoundException。而我希望它能够在没有mailTo字段的情况下运行


{“filePath”:“whatever”、“mailTo”:“}要处理此问题,可以将jsonpath组件的
suppressExceptions
选项设置为
true

.route()
    .setProperty(FILE_PATH, jsonpath("$.filePath"))
    .setProperty(RECIPIENT_LIST, jsonpath("$.mailTo", true, String.class))

谢谢但是我在这里只添加了两个参数,第二个参数应该是resultType。我还有另外一个用法,我在下面声明了setBody().jsonpath($.mssg),在这里添加一个suppressexception值很好,这让我觉得问题出在setParameter方法中?@Kara一次提供两个参数没有问题,我已经更新了答案
.route()
    .setProperty(FILE_PATH, jsonpath("$.filePath"))
    .setProperty(RECIPIENT_LIST, jsonpath("$.mailTo", true, String.class))