MuleSoft - DataWeave 语言


DataWeave 基本上是一种 MuleSoft 表达语言。它主要用于访问和转换通过 Mule 应用程序接收到的数据。Mule运行时负责运行我们的Mule应用程序中的脚本和表达式,DataWeave与Mule运行时紧密集成。

DataWeave语言的特点

以下是 DataWeave 语言的一些重要特征 -

数据可以很容易地从一种格式转换为另一种格式。例如,我们可以将 application/json 转换为 application/xml。输入有效负载如下 -

{
   "title": "MuleSoft",
   "author": " tutorialspoint.com ",
   "year": 2019
}

以下是 DataWeave 中用于转换的代码 -

%dw 2.0
output application/xml
---
{
   order: {
      'type': 'Tutorial', 
      'title': payload.title, 
      'author': upper(payload.author), 
      'year': payload.year
   }
}

接下来,输出有效负载如下 -

<?xml version = '1.0' encoding = 'UTF-8'?>
<order>
   <type>Tutorial</type>
   <title>MuleSoft</title>
   <author>tutorialspoint.com</author>
   <year>2019</year>
</order>

转换组件可用于创建执行简单和复杂数据转换的脚本。

我们可以在我们需要的 Mule 事件的部分上访问和使用核心 DataWeave 函数,因为大多数 Mule 消息处理器都支持 DataWeave 表达式。

先决条件

在我们的计算机上使用 DataWeave 脚本之前,我们需要满足以下先决条件 -

  • 使用 Dataweave 脚本需要 Anypoint Studio 7。

  • 安装 Anypoint Studio 后,我们需要设置一个带有转换消息组件的项目才能使用 DataWeave 脚本。

使用 DataWeave 脚本的步骤和示例

为了使用 DataWeave scrip,我们需要按照以下步骤操作 -

步骤1

首先,我们需要建立一个新项目,就像我们在上一章中所做的那样,使用File → New → Mule Project

第2步

接下来,我们需要提供项目的名称。对于这个例子,我们给出的名称是Mule_test_script

步骤3

现在,我们需要将Transform Message 组件Mule Palette 选项卡拖到canvas中。如下所示 -

数据编织脚本

步骤4

接下来,在“转换消息”组件选项卡中,单击“预览”以打开“预览”窗格。我们可以通过单击“预览”旁边的空白矩形来扩展源代码区域。

步骤5

现在,我们可以开始使用 DataWeave 语言编写脚本。

例子

以下是将两个字符串连接成一个的简单示例 -

转换消息组件

上面的 DataWeave 脚本有一个键值对({ myString: ("hello" ++ "World") }),它将两个字符串连接成一个。