2016-10-10 11 views
0

Я использую поиск в формате dataweave, чтобы возвращать дополнительную информацию для сообщения полезной нагрузки.Могу ли я решить, использовать ли полезную нагрузку, возвращаемую поиском данных?

Есть ли способ, которым я могу решить, могу ли я использовать полезную нагрузку, возвращаемую из потока, если статус сообщения не тот, который я хочу?

Я пока не могу понять, насколько синтаксис правилен до сих пор, используя условия и в других условиях и не могу найти много помощи в Интернете.

Функция поиска вызывается на лету, если полезная нагрузка содержит сообщение об ошибке и удалит запись пользователя. Поиска возвращает объект, содержащий 2 поля, и я только хочу, чтобы включить результат, если это поле статуса «Откат»

Dataweave код:

%dw 1.0 
%output application/xml 
--- 
{ 
    (data: { 
     userId: flowVars.userId, 
     Message: "User created successfully" 
    }) when (payload.user?) and 
      ((payload.status == "SUCCESS")), 

    (Exception: { 
     userId: flowVars.userId, 
     Message: payload.exception.message, 
     ("data":lookup("deleteuserfromgroup",payload.userId)) 
    })when (payload.exception?) and 
      (payload.exception.status != "-1") 
} 

Благодаря

ответ

0

Есть много условного примера DataWeave Reference Documentation , Ниже приведен один из простых примеров:

%dw 1.0 
%output application/json 
%var lookupValue = lookup("flowName", payload) 
--- 
{ 
    //set default when null 
    default: lookupValue default "defaultValue", 
    //when or otherwise 
    when: lookupValue when lookupValue.status == "expectedValue" otherwise "defaultValue", 
    //display the element only when the expected value is returned 
    (conditional: lookupValue) when lookupValue.status == "expectedValue" 
} 

Вы можете комбинировать или цепочки выражения по мере необходимости.

+0

Hi. Поиск будет вызываться «на лету» и обновил мой вопрос с помощью текстового кода, показывающего, где он будет называться – user3165854

 Смежные вопросы

  • Нет связанных вопросов^_^