我在输入中有2个字段,一个是primary_language&另一种是secondary_language。我有一个案例,我必须查找这两个字段中的值,然后根据表返回一个特定的值。 例如 如果主要语言是英语&辅助语言为null然后英语将是输出&如果主要语言是西班牙语和secondary是Sign然后在输出&中输入None。等等。可以告诉我们如何在mulesoft的dataweave中执行此操作。
答案 0 :(得分: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)
}
答案 1 :(得分:0)
我建议创建另一个为您执行此查找的流程(可能您可以执行数据库调用,或其他类似groovy脚本),并根据这些值存储您的值以及您希望返回的内容。
https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-reference-documentation#expressions-that-call-external-flows略微涵盖了这个概念,但总体思路如下:
language: lookup("myLookupFlow", payload)
然后,您需要做的就是根据主数据库和辅助数据库查询数据集,然后您将获得#34;转换后的数据集。价值回归。