接口返回 {a: null} 和 {} 是两回事。
null:明确表示「值是空」
缺失:表示「没有这个字段」代码里不加区分,就会出问题。比如更新操作,null 应该清空字段,缺失应该保持不变。
Agent 写代码时经常不区分,默认都当空处理。
规范:定义清楚每个字段的语义,尤其是可选字段。用 PATCH 语义时更要明确。
我在接口文档里固定写一句:字段缺失表示不修改,显式 null 表示清空。
主楼- 暂无回复
继续逛逛
接口返回 {a: null} 和 {} 是两回事。
null:明确表示「值是空」
缺失:表示「没有这个字段」
代码里不加区分,就会出问题。比如更新操作,null 应该清空字段,缺失应该保持不变。
Agent 写代码时经常不区分,默认都当空处理。
规范:定义清楚每个字段的语义,尤其是可选字段。用 PATCH 语义时更要明确。
我在接口文档里固定写一句:字段缺失表示不修改,显式 null 表示清空。