Mule 具有dataweave运算符的全局函数?
我有几个数据编织函数需要在流中的不同位置重用。但它们使用的是数据编织操作符,比如Pull。那么,有没有办法让它们全球化呢Mule 具有dataweave运算符的全局函数?,mule,mule-el,dataweave,Mule,Mule El,Dataweave,我有几个数据编织函数需要在流中的不同位置重用。但它们使用的是数据编织操作符,比如Pull。那么,有没有办法让它们全球化呢 %function formatterm(a) (a pluck (null when $==null otherwise "term" : {'$$':$})) -null %函数formatterms(a)(一个pull(当$==null时为null,否则为“terms”){$$:$}-null %function formatquerystring(a)(一个pul
%function formatterm(a) (a pluck (null when $==null otherwise "term" : {'$$':$})) -null
%函数formatterms(a)(一个pull(当$==null时为null,否则为“terms”){$$:$}-null
%function formatquerystring(a)(一个pull(当$==null时为null,否则为(“查询字符串”:“查询”:“$$”+”:“++$)))-null
谢谢
Sushma您可以创建全局MEL函数。从MEL可以调用dataweave,例如: 有关详细信息,请参阅 你必须小心引用:
def formatquerystring(a) {
return dw("("+ a + " pluck (null when $==null otherwise
(\"query_string\" : \"query\": '$$' ++ ':' ++ $) )) - null")
}
对我有用。但是有了它,您就可以动态地创建一个必须编译的dwl脚本。还要注意代码注入
用MEL编写formatquerystring可能更好。实际上,我试图引用该示例,并将全局函数定义为def formatquerystring(a){return dw(($==null时为null,否则为(“查询字符串”:“查询”:“$$”+':“+$))-null”),但此函数在dataweave中不可读。