如何为DataWeave match运算符的else语句命名输入参数
DataWeave match运算符else分支默认$变量重命名方法
原实现问题
默认写法下match表达式的else分支只能使用隐式变量$获取未命中所有case的匹配值,无法自定义变量名:
payload match { case strPayload is String -> "Payload is a String: " ++ strPayload else -> $ }
实现方案
无需使用else分支,新增一个无类型约束、判断条件恒为真的最终case分支,直接将匹配值绑定到你自定义的变量名即可,逻辑和原else分支完全等价:
payload match { case strPayload is String -> "Payload is a String: " ++ strPayload case final if(true) -> final }
上述代码中你可以将final替换为任意你需要的变量名,不需要再调用默认的$变量。
内容的提问来源于stack exchange,提问作者Ethan Port
相关产品推荐
相关产品推荐

