You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将GraphQL Mutation参数改为可接受Null是否属于破坏性变更?

结论:该变更不属于破坏性变更,不会导致现有客户端报错

两种参数配置的核心差异

  • 原配置 String, required: true:要求必须传入非空的字符串值,客户端既不能省略name参数,也不能传入null。
  • 新配置 String, required: :nullable:要求必须指定name参数(不能省略),但允许传入null或非空字符串值。

对现有客户端的影响

现有客户端的合法请求都是严格遵循原配置的:即一定会传入name参数,且值为非空字符串。这类请求在新配置下完全符合要求,不会触发任何报错。

符合GraphQL破坏性变更的定义

根据GraphQL规范,只有导致原有合法请求失效的变更才属于破坏性变更。本次变更没有让任何原有合法请求失效,只是扩展了参数的允许值范围(从仅允许非空字符串,变为允许非空字符串+显式null),因此不属于破坏性变更。

内容的提问来源于stack exchange,提问作者Maor Barazani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:22:01