0

我在输入中有 2 个字段,一个是 primary_language,另一个是 secondary_language。我有一种情况,我必须查找这两个字段中存在的值,然后根据表返回一个特定的值。例如,如果主要语言是英语,次要语言为空,则输出英语,如果主要语言是西班牙语,次要语言是符号,则在输出中输入 None 等等。谁能告诉我们如何在 mulesoft 的 dataweave 中执行此操作。

4

2 回答 2

1

你真的有一些更动态的逻辑还是只是你上面提到的两个条件?

您可以使用 when/otherwise 或调用另一个流来获取值。

%dw 1.0
%output application/java

---
{
language: 'English' when (payload.primary == 'English' and payload.secondary is :null) 
                otherwise ('None' when payload.primary == 'Spanish' and payload.secondary == 'Sign'
                    otherwise ''
                ),

language2: lookup("testFlow",payload)
}
于 2016-02-24T20:55:15.400 回答
0

我建议创建另一个为您执行此查找的流程(可能您可以执行数据库调用或其他类似 groovy 脚本的操作),并存储您的值以及您期望根据这些值返回的内容。

https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-reference-documentation#expressions-that-c​​all- external-flows 稍微涵盖了这个概念,但总体思路如下:

language: lookup("myLookupFlow", payload)

然后,您需要做的就是根据主要和次要查询您的数据集,您将获得“转换后的”值。

于 2016-03-03T20:43:47.660 回答