Объявление динамической переменной datawave в Mule 4, как мы сделали с использованием в Mule 3

#mule #using #dataweave

#mule #использование #dataweave

Вопрос:

У меня есть требование создать переменную времени выполнения в Dataweave, как мы сделали в Mule 3, с ключевым словом using. Может кто-нибудь сообщить мне, как это может быть достигнуто в Mule 4

Ответ №1:

Вы все еще можете использовать using ключевое слово в Mule 4 / Dataweave 2.

Локальные переменные инициализируются в теле скрипта DataWeave, и на них можно ссылаться по имени только из области выражения, в котором они инициализированы.

Синтаксис для инициализации локальной переменной выглядит следующим образом: используя ( = ), вы можете объединить несколько определений локальной переменной в виде списка, разделенного запятыми, внутри функции using. Например: использование (FirstName=’Annie’, LastName =’Point’)

 %dw 2.0
output application/json
---
using (x = 2) 3   x
  

Вот пример определения локальной переменной внутри объекта:

 %dw 2.0
output application/xml
---
{
  person: using (user='Greg', gender='male') {
    name: user,
    gender: gender
  }
}
  

Обратите внимание, что эти переменные ограничены только объектом ‘person’. Доступ к ним со стороны пользователя выдаст ошибку.

Полная документация по этому вопросу здесь: https://docs.mulesoft.com/mule-runtime/4.1/dataweave-variables

Комментарии:

1. В дополнение к using существует также do , которую можно использовать для достижения аналогичных результатов. Документы по do здесь: docs.mulesoft.com/mule-runtime/4.1 /…

2. Да, я бы рекомендовал использовать do вместо use проще и понятнее, ИМХО