Использование MEL в Mulesoft для преобразования значения NULL в значение по умолчанию - PullRequest
0 голосов
/ 19 сентября 2018

Я использую некоторое значение MEL для установки переменной на основе возврата SQL-запроса -

#[payload[0].PRTY_TYPE]

Проблема, с которой я сталкиваюсь, заключается в том, что иногда PRTY_TYPEможет вернуться пустым

Вместо того, чтобы использовать обработку исключений, могу ли я просто отредактировать MEL в настройке переменной, поэтому, если он равен NULL, ему присваивается значение по умолчанию?Нравится -

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

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Я сделал это с помощью оператора or.Вы можете использовать оператор or, например:

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

. Это выражение будет оцениваться как support@email.com, если payload[0].PRTY_TYPE равно null

. Согласно документам Mule, вы можете пойти дальше.в частности, при проверке, проверяя, существует ли свойство с помощью оператора .?, например:

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

Который я бы назвал более безопасным.

Ссылка

Для получения дополнительной информации, пожалуйста, проверьте ссылку , чтобы узнать больше о цепочечных элементах.

0 голосов
/ 19 сентября 2018

Mule 3

Попробуйте использовать для этого троичное выражение:

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

Вы также можете сделать это встроенным с DataWeave:

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


Mule 4

DW - язык выражений в Mule 4, поэтому вам не нужно вызывать dw:

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

...