在我的 Mule 流程中,我想在消息丰富元素中使用三元运算。
例如,以下是当源为 null 时抛出错误的现有行:
<enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev]">
这是尝试使用三元运算时的行:
<enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev == null ? '' : json:_rev]">
如果从丰富源返回 null,我想返回一个空字符串。我不希望当 Mule 尝试使用“setProperty()”函数分配 null 值时抛出错误。
当前三元示例可以工作,但它返回“false”(不是字符串)。
最佳答案
这不是 Mule 表达式语言 (MEL),而是旧的求值器语法,它不支持三元表达式。
编辑:
我建议您获取MEL cheatsheet并查看 JSON 处理是如何完成的。
根据您提供的部分信息,我认为您在 HTTP 出站端点的响应阶段需要一个 json-to-object-transformer
(用于获取 JSON,对吧?)。然后您可以在丰富器中使用 MEL 三元表达式。
关于mule - 如何将三元运算符与 Mule 表达式求值器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14244621/