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

HotChocolate 12使用ResolveWith时提示字段找不到对应参数如何解决

问题原因

  • 核心原因是TestResolver的Get方法入参没有标记[Parent]特性:HotChocolate默认会把Resolver方法的所有参数识别为当前GraphQL字段的入参,你没有明确指定my参数是当前字段所属的父级实体实例,框架就会去name字段的定义里查找名为my的入参,找不到就抛出你看到的错误。
  • 额外检查点:需要确认你已经引入了HotChocolate.Resolvers命名空间,[Parent]特性定义在该命名空间下。

修复方案

修改你的TestResolver实现,给入参加上[Parent]标记即可:

using HotChocolate.Resolvers;

// 其余代码保持不变
private class TestResolver
{
    public string Get([Parent] My my)
    {
        return my.Logo;
    }
}

补充说明

如果你的查询只请求name字段不请求logo字段,那么父级My实例的Logo属性会是默认值,只有当查询同时包含logo字段时,你才能在Resolver里拿到已经填充的Logo值,这和你的预期逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:18:03