是否有一个 Dataweave 运算符用于对给定范围内的数字进行布尔验证
Is there a Dataweave operator for Boolean validation of number falling between a given Range
我有一个流,它使用流引用和一个选择条件流路由器调用两个子流。
when 部分的第一个条件是 #[payload.num > 1000]
。当True
这调用子流程-A。
当false
时,下一个要检查的条件是#[(payload.num < 1000) and (payload.num > 0)]
。当 True
时,这将调用子流程 B,否则默认。
有没有办法(任何运算符)将用法 #[(payload.num < 1000) and (payload.num > 0)]
替换为干净、简短和简单的东西?
类似
%dw 2.0
output application/java
---
(0 to 1000) contains payload.num
没有用于此的内置运算符,您最好的选择是在您的类路径中创建一个具有该功能的 dw 模块。它只是一个具有该功能的 dwl 文件,如果您需要,还可以使用其他功能,但没有正文。
// src/main/resources/MyModule.dwl
%dw 2.0
fun isBetween(numToCheck: Number, low: Number, high: Number) = do {
(numToCheck > low) and (numToCheck < high)
}
然后你可以这样称呼它:
#[MyModule::isBetween(payload.num, 0, 1000)]
我有一个流,它使用流引用和一个选择条件流路由器调用两个子流。
when 部分的第一个条件是 #[payload.num > 1000]
。当True
这调用子流程-A。
当false
时,下一个要检查的条件是#[(payload.num < 1000) and (payload.num > 0)]
。当 True
时,这将调用子流程 B,否则默认。
有没有办法(任何运算符)将用法 #[(payload.num < 1000) and (payload.num > 0)]
替换为干净、简短和简单的东西?
类似
%dw 2.0
output application/java
---
(0 to 1000) contains payload.num
没有用于此的内置运算符,您最好的选择是在您的类路径中创建一个具有该功能的 dw 模块。它只是一个具有该功能的 dwl 文件,如果您需要,还可以使用其他功能,但没有正文。
// src/main/resources/MyModule.dwl
%dw 2.0
fun isBetween(numToCheck: Number, low: Number, high: Number) = do {
(numToCheck > low) and (numToCheck < high)
}
然后你可以这样称呼它:
#[MyModule::isBetween(payload.num, 0, 1000)]