Мул 4: ‘Использование ключевого слова’: как добавить условие для создания локальной переменной в Mule DataWeave 2.0 — ‘использование’ функции

#dataweave #mule4

#dataweave #mule4

Вопрос:

Я хочу создать локальную переменную в using функции

 dataweave 1.0
result : using (myVar = 1 when $.age > 1 otherwise 2) {
}
 

Приведенный выше код работает!

Та же логика, которую я хочу достичь в dataweave 2.0 чем-то вроде приведенного ниже (приведенный ниже код не работает)

 dataweave 2.0
result : using (
            if ($.age > 1) 
               myVar = 1
            else 
               myVar  = 2
         ) {
}
 

Ответ №1:

Вы можете использовать область do видимости и объявлять переменные, поскольку это более рекомендуемый подход.

С помощью do

 %dw 2.0
output application/json
---
result : do {
      var myVar = if (payload.age > 1) 1 else 2
      ---
      myVar
}

 

С помощью.

 %dw 2.0
output application/json
---
{
    result: using (myVar = if (payload.age > 1) 1 else 2) 
         myVar
}