Skip to Content

空值规则

同样是“没有值”,来源可能有三种,平台的处理并不完全一样。对接第三方接口时,“不发送这个字段”和“发送一个 null”往往是两种结果,本手册列出各处的实际表现。

三种“没有值”

情况在编辑器里的样子
未绑定取值栏是空的,没有配置任何内容
绑定了空值明确选择了空值,或填入的固定值为空
运行时为空绑定了变量、字段或上游节点的出参,但运行时它没有值

未绑定绑定了空值在绝大多数位置是同一件事,平台不做区分。真正需要单独考虑的是运行时为空:这种绑定在编辑器里看起来是完整的,只有运行时才知道有没有值。

组件属性与样式

取空值,组件按没有值来渲染。不会报错,也不会保留上一次的值。

条件数据同理:所有分支的条件都不成立时,整个配置项取空值。详见配置条件数据

数据源的筛选条件

筛选条件的分支列表以 Default(默认)分支结尾,它的条件恒成立,因此总会有一条筛选生效,不存在“没有分支命中”的情况。

请保持 Default 分支在最后:把它排到前面会短路它后面的所有分支;如果它被删掉(例如被工具或迁移改坏),系统会退回到列表里的最后一条分支——查询不会失败,但生效的筛选可能不是你预期的那一条。

筛选值本身为空时不会自动过滤数据,详见获取数据源与数据绑定

行为流入参

入参未绑定或绑定了空值运行时为空
必填调用直接失败调用直接失败
选填不传这个入参,行为流内读到空值传入空值

必填入参没有值时是显式失败,可以在运行日志里看到。如果希望“没传就用默认值”,请把入参设为选填,并在行为流内部判空后再赋默认值。

API 请求

以下规则对页面调用、行为流的 API 节点和 AI 智能体工具都适用。表中的旧版 API 指编辑器重做前配置、尚未迁移的第三方 API,它没有集合、输入、响应这套配置结构;新版 API 的配置方式见集成第三方 API

查询参数、请求头和路径参数

位置旧版 API新版 API
查询参数不发送这个参数不发送这个参数
请求头不发送这个请求头不发送这个请求头
路径参数地址拼不出来,调用报错调用报错,错误信息会指出是哪个路径参数没有取值

路径参数为空属于配置错误。请在调用方保证它一定有值,或者给它配一个默认值。

请求体字段

情况旧版 API新版 API
选填字段留空不发送这个字段不发送这个字段
必填字段留空调用报错,请求不会发出发送 null
绑定的取值运行时为空不发送这个字段发送 null
字段在接口定义里配了默认值发送该字段自己的默认值发送该字段自己的默认值
空文本发送 ""发送 ""
空数组发送 []发送 []
表单字段为空不发送这个字段不发送这个字段
⚠️

这是新旧两版最容易踩的差异:同一个字段留空,旧版 API 是不发送,新版 API 只要该字段有取值配置(包括必填字段和绑定了空值的字段)就会发送 null。微信、支付宝和多数国内网关都区分“字段缺失”和“字段为 null”,把旧版 API 迁到新版后请重新对一遍接口文档。

确认实际发出的请求

新版 API 打开测试面板,在输入页把要验证的输入留空,再点预览请求。面板显示的方法、地址、请求头和请求体就是实际会发出的内容,某个字段是“不发送”还是“发送 null”在这里能直接看出来。

运行日志里的第三方 API 记录显示的是实际发出的请求体,因为为空而被丢弃的字段不会出现在里面,可以直接拿它和第三方接口的报错对照。

对接建议

  • 需要显式发送 null 时用新版 API。旧版 API 没有办法发出 null,只能选择发送或不发送。
  • 不希望发送某个字段时,把它设为选填,并保证调用方不传值。
  • 接口要求“传空字符串”和“不传这个字段”是两回事。前者请用空文本明确表达,不要留空。
  • 第三方接口把必填字段收到 null 当作参数错误时,不要依赖平台留空,请在调用方补齐取值或改用默认值。
Last updated on