根据条件路由流程

问题描述

我正在尝试根据输入有效负载来路由进程。

输入:

{
    "data": {
        "schema": "rWdXQ7M38dwTJ8Ro29S8PQ","payload": {            
            "ChangeEventHeader": {
                "changeType": "CREATE","changedFields": [


                ],"Name": "Case","recordIds": [
                    "a77V00000000vI4IAA"
                ]
            },"Last_Month_Work_Billed_RS__c": 0.0
        },"event": {
            "replayId": 10198245
        }
    },"channel": "/data/Job__ChangeEvent"
}

我在m子4中使用选择连接器

正在使用的数据编织表达式如下

payload.data.payload.ChangeEventHeader.changeType == "CREATE" & Name != " "

它给了我错误。我如何通过表达式实现这一目标?

解决方法

请提供您所犯的错误。试试

payload.data.payload.ChangeEventHeader.changeType ~= "CREATE" and payload.data.payload.ChangeEventHeader.Name != " " and payload.data.payload.ChangeEventHeader.Name?
,

Dataweave不能将&符号理解为逻辑运算符(在这种情况下为“ and”)。 另外,您应该将完整路径添加到“名称”属性。

使用以下数据编织表达式:

payload.data.payload.ChangeEventHeader.changeType == "CREATE" and payload.data.payload.ChangeEventHeader.Name != " "

Dataweave逻辑运算符的描述如下:https://docs.mulesoft.com/mule-runtime/4.3/dw-operators#logical_operators

,

您还可以探索以下语法:

payload..changeType[0] == "CREATE" and !isEmpty(payload..Name[0])

isEmpty(<expression>)https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-isempty

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...