拖拽左侧手柄可调整规则执行顺序
H
updateEndpointRuleEnabled(endpoint.id, index, v)"
/>
updateEndpointRuleField(endpoint.id, index, 'key', v)"
/>
=
updateEndpointRuleField(endpoint.id, index, 'value', v)"
/>
updateEndpointRuleField(endpoint.id, index, 'key', v)"
/>
updateEndpointRuleField(endpoint.id, index, 'from', v)"
/>
→
updateEndpointRuleField(endpoint.id, index, 'to', v)"
/>
updateEndpointRuleCondition(endpoint.id, index, condition)"
@remove="clearEndpointRuleCondition(endpoint.id, index)"
/>
R
updateEndpointResponseRuleEnabled(endpoint.id, index, v)"
/>
updateEndpointResponseRuleField(endpoint.id, index, 'key', v)"
/>
=
updateEndpointResponseRuleField(endpoint.id, index, 'value', v)"
/>
updateEndpointResponseRuleField(endpoint.id, index, 'key', v)"
/>
updateEndpointResponseRuleField(endpoint.id, index, 'from', v)"
/>
→
updateEndpointResponseRuleField(endpoint.id, index, 'to', v)"
/>
updateEndpointResponseRuleCondition(endpoint.id, index, condition)"
@remove="clearEndpointResponseRuleCondition(endpoint.id, index)"
/>
. 嵌套字段 / [N] 数组索引 / [*] 通配符;值为 JSON 格式
setBodyRuleHelpOpen(endpoint.id, v)"
>
路径语法
metadata.user_id 嵌套字段
messages[0].content 数组索引
tools[*].name 通配符(遍历所有元素)
tools[0-4].name 范围(遍历索引 0~4)
config\.v1.key 转义点号
值格式 (JSON)
123 数字 / "text" 字符串 / true 布尔
{"k":"v"} 对象 / [1,2] 数组 / null
{{$original}} 引用原值
条件运算符
eq neq 等于/不等于
gt lt gte lte 大小比较
starts_with ends_with contains 字符串匹配
matches 正则匹配
exists not_exists 字段存在性
in 在列表中(值填 ["a","b"])
type_is 类型判断(string/number/boolean/array/object/null)
条件路径支持 $item.xxx 引用通配符当前元素
可切换 请求体/请求头 数据源,并支持 ALL/ANY 组合条件
规则按顺序执行;条件判断使用客户端原始请求体或原始请求头,不受前面规则修改影响。
条件默认按客户端原始请求体匹配;切到 请求头 时按客户端原始请求头匹配。
B
updateEndpointBodyRuleEnabled(endpoint.id, index, v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'path', v)"
/>
=
updateEndpointBodyRuleField(endpoint.id, index, 'value', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'path', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'from', v)"
/>
→
updateEndpointBodyRuleField(endpoint.id, index, 'to', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'path', v)"
/>
+=
updateEndpointBodyRuleField(endpoint.id, index, 'value', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'path', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'index', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'value', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'path', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'pattern', v)"
/>
→
updateEndpointBodyRuleField(endpoint.id, index, 'replacement', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'flags', v)"
/>
updateEndpointBodyRuleField(endpoint.id, index, 'count', v)"
/>
updateEndpointBodyRuleCondition(endpoint.id, index, condition)"
@remove="clearEndpointBodyRuleCondition(endpoint.id, index)"
/>