Kun*_*thi 1 mule dynamic-function dataweave mulesoft mule4
我有多种功能:
fun testadd(payload) =
({
addition: payload.value1 as Number + payload.value2 as Number
})
fun testsub(payload) =
({
substraction: payload.value1 as Number - payload.value2 as Number
})
fun testmultiply(payload) =
({
multiplication: payload.value1 as Number * payload.value2 as Number
})
Run Code Online (Sandbox Code Playgroud)
我想根据“操作”属性/元素的值动态调用该函数。假设如果“Operation”=“testadd”则调用testadd函数, 如果“Operation”=“testsub”则调用testsub函数
输入 :
{
"value1" : 10,
"value2" : 20,
"Operation" : "testadd"
}
Run Code Online (Sandbox Code Playgroud)
这里的另一种选择是使用函数重载和文字类型。例如:
%dw 2.0
output json
fun binOp(a, b, op : "add") = a + b
fun binOp(a, b, op : "sub") = a - b
fun binOp(a, b, op : "mul") = a * b
---
binOp(10, 20, "add")
Run Code Online (Sandbox Code Playgroud)
DataWeave将根据op参数的值调用正确的函数。
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |