更新时间:2024-07-29 GMT+08:00
分享

配置条件分支算子

条件分支算子通过获取上游算子的请求参数或结果集进行条件判断,根据定义的表达式来确定下一步执行的分支。注意,多个分支满足条件时仅执行第一个满足条件的分支。

表1 条件分支算子

参数

说明

分支1

条件类型

选择条件类型。
  • 满足当前条件时:表示传入“条件分支”的数据满足指定的表达式时,将执行该分支。
  • 不满足其他条件时:表示传入“条件分支”的数据不满足其他所有分支的条件时,将执行该分支。

表达式

当条件类型为“满足当前条件时”,需要根据表达式配置条件。

条件分支表达式由上游算子的节点编码和变量名组成,使用方法请参考变量表达式定义方法

分支2

条件类型

选择条件类型。
  • 满足当前条件时:表示传入“条件分支”的数据满足指定的表达式时,将执行该分支。
  • 不满足其他条件时:表示传入“条件分支”的数据不满足其他所有分支的条件时,将执行该分支。

表达式

当条件类型为“满足当前条件时”,需要根据表达式配置条件。

条件分支表达式由上游算子的节点编码和变量名组成,使用方法请参考变量表达式定义方法

...

分支n

条件类型

选择条件类型。
  • 满足当前条件时:表示传入“条件分支”的数据满足指定的表达式时,将执行该分支。
  • 不满足其他条件时:表示传入“条件分支”的数据不满足其他所有分支的条件时,将执行该分支。
  • 满足当前条件时:表示传入“条件分支”的数据满足指定的表达式时,将执行该分支。
  • 不满足其他条件时:表示传入“条件分支”的数据不满足其他所有分支的条件时,将执行该分支。

表达式

当条件类型为“满足当前条件时”,需要根据表达式配置条件。

条件分支表达式由上游算子的节点编码和变量名组成,使用方法请参考变量表达式定义方法

表达式定义方法

在定义条件分支的表达式时,需要配置变量表达式。当前仅入口API和普通API支持定义变量,条件分支、并行处理和输出处理暂不支持。表达式标准写法为:${节点编码|变量名},定义方法如表2所示。

  • 节点编码:由系统动态分配,不可改动。您可以在API编排的画布中,单击节点后在节点详情中查看节点编码,并支持通过复制节点编码。
    图1 查看节点编码

  • 变量名:支持的变量包括请求参数值和结果集相关参数,详情请参见表2
表2 条件表达式定义方法

算子

变量表达式

样例

入口API

获取入口API的请求参数的值:${节点编码|入参名}
说明:

当入参位置为Query、Header、Path或入参位置为Body的POST请求时,支持此表达式。

入口API的节点编码为EntryApi_3909f,入参userId位置为Path,获取请求参数的值:${EntryApi_3909f|userId}

普通API

  1. 获取普通API的请求参数的值:${节点编码|入参名}
    说明:

    当入参位置为Query、Header、Path或入参位置为Body的POST请求时,支持此表达式。

  2. 获取普通API的结果集及相关变量:
    • 获取普通API的查询状态是否成功,结果为true或false:${节点编码|payload.success}
    • 获取普通API查询结果集内的行数:${节点编码|payload.rowSize}
    • 获取普通API查询结果集内的列数:${节点编码|payload.columnSize}
    • 获取普通API查询结果集内的列名:${节点编码|payload.columnNames}
    • 获取普通API查询结果集内的第n行、对应列名为id的值:${节点编码|payload.data[n-1].id}
  • 普通API的节点编码为NormalApi_4246f,入参userId位置为Path,获取请求参数的值:${NormalApi_4246f|userId}
  • 普通API的节点编码为NormalApi_4246f,取值结果为多行单列的一维数组,获取结果集内第1行的值:${NormalApi_4246f|payload.data[0]}
  • 普通API的节点编码为NormalApi_4246f,取值结果为多行多列的二维数组,获取结果集内第1行、列名为price的值:${NormalApi_4246f|payload.data[0].price}

例如,对于A(入口API)>B(普通API)>C(条件分支)这3个顺序节点,节点C需要取节点A的请求参数值和节点B的输出值:

  • A节点编码为EntryApi_3909f,入参userId位置为Path。

    取A节点请求参数值:${EntryApi_3909f|userId}。

  • B节点编码为NormalApi_4246f,取值结果为多行多列的二维数组,获取结果集内第1行、列名为name的值。

    取B节点输出:${NormalApi_4246f|payload.data[0].name}。

相关文档