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

HotChocolate 12中ErrorBuilder.SetPath含括号时报类型名无效错误

解决方案

HotChocolate 12对错误路径的格式要求更严格,不再允许将字段名和数组索引合并成单个字符串(比如"Users[0]"),而是需要把路径的每个组成部分单独传入:

  • 将字段名和索引拆分为列表中的独立元素
  • 或者使用Path类的API来构建合法的路径

方法1:拆分路径元素

修改SetPath的参数,把"Users[0]"拆成两个独立元素传入列表:

IErrorBuilder errorBuilder = new ErrorBuilder()
    .SetPath(new List<string>() { "Users", "0" });

方法2:使用Path构建器API(更推荐)

借助HotChocolate提供的Path静态方法构建路径,更贴合v12的设计规范:

var path = Path.New("Users").AtIndex(0);
IErrorBuilder errorBuilder = new ErrorBuilder()
    .SetPath(path);

原因说明

HotChocolate 10对路径处理较为宽松,允许直接传入带索引的复合字符串。但v12重构了路径验证逻辑,要求每个路径段必须是合法的GraphQL名称(不能包含[、]这类特殊字符),数组索引需要作为单独的路径段存在,才能被正确解析为标准的GraphQL路径格式。

内容的提问来源于stack exchange,提问作者Jacob Shaffer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:15:06