在Mulesoft中使用MEL将NULL值转换为默认值

时间:2018-09-19 11:18:08

标签: mule

我正在使用一些MEL根据SQL查询的返回值来设置变量-

#[payload[0].PRTY_TYPE]

我遇到的问题是,有时PRTY_TYPE可能会变成空白。

除了使用异常处理外,我还可以简单地在变量设置中编辑MEL,以便将其设为NULL并为其提供默认值吗?喜欢-

IF #[payload[0].PRTY_TYPE] IS NULL THEN 'support@email.com'

2 个答案:

答案 0 :(得分:2)

M子3

尝试为此使用三元表达式:

#[payload[0].PRTY_TYPE != null ? payload[0].PRTY_TYPE : 'support@email.com']

您还可以通过DataWeave内联执行此操作:

#[dw("payload[0].PRTY_TYPE default 'support@email.com'")]


M子4

DW是Mule 4中的表达语言,因此您无需调用dw

#[payload[0].PRTY_TYPE default 'support@email.com']

答案 1 :(得分:0)

我已经使用or运算符完成了此操作。您可以使用or运算符,例如:

#[payload[0].PRTY_TYPE or 'support@email.com']

如果support@email.compayload[0].PRTY_TYPE,则该表达式的值为null

根据Mule文档,实际上您可以通过使用.?运算符检查属性是否存在来进行更具体的检查,例如:

#[payload[0].?PRTY_TYPE or 'support@email.com']

我认为这会更安全。

参考

有关更多信息,请检查此link,以获取有关链接元素的更多信息。