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 脚本,我们需要遵循以下步骤−

步骤 1

首先,我们需要像上一章一样,通过使用 File →New →Mule Project 来设置一个新项目。

步骤 2

接下来,我们需要提供项目的名称。在本例中,我们将其命名为 Mule_test_script

步骤 3

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

DataWeave Script

步骤 4

接下来,在 Transform Message 组件 选项卡中,单击 Preview 以打开 Preview 窗格。我们可以通过单击"预览"旁边的空矩形来展开源代码区域。

步骤 5

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

示例

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

Transform Message Component

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