在“...”字段中找不到名称为“...”的参数
Posted
技术标签:
【中文标题】在“...”字段中找不到名称为“...”的参数【英文标题】:There was no argument with the name `...` found on the field `...` 【发布时间】:2021-11-25 19:20:32 【问题描述】:我使用的是 HotChocolate 12.0.1。我有以下类型定义:
public class MyType : ObjectType<My>
protected override void Configure(IObjectTypeDescriptor<My> descriptor)
descriptor.Field(p => p.Name)
.ResolveWith<TestResolver>(r => r.Get(default))
.Type<IdType>();
descriptor.Field(p => p.Logo)
.Type<StringType>();
private class TestResolver
public string Get(My my)
return my.Logo;
我希望在 TestResolver Get(My my) 中注入我的对象,因为它填充了 Logo 值,正如我在示例中看到的那样: https://github.com/ChilliCream/graphql-workshop/blob/master/docs/3-understanding-dataLoader.md
但由于某种原因,我从 HotChocolate 参数查找中得到了:
There was no argument with the name `my` found on the field `name`.
我的查询:
query
my(someId: 123)
name
logo
启动:
services.AddGraphQLServer()
.AddQueryType<QueryType>()
.AddType<MyType>()
问题可能出在哪里?
【问题讨论】:
我在this tutorial也遇到了这个问题:/我试过调试,好像没有使用解析器 【参考方案1】:真是愚蠢的解决方案,我花了 4 个小时才找到。
private class TestResolver
public string Get([Parent] My my)
return my.Logo;
相关文档:
https://chillicream.com/docs/hotchocolate/api-reference/migrate-from-11-to-12#resolvers https://github.com/ChilliCream/hotchocolate/issues/4292【讨论】:
这正是我所需要的。有一些 YouTube 教程是在 V11 上编写的,这个简单的解决方案解决了这个问题。谢谢! 是的,我不知道为什么这会被深深地埋在文档中,哈哈以上是关于在“...”字段中找不到名称为“...”的参数的主要内容,如果未能解决你的问题,请参考以下文章
如何修复“在应用程序配置中找不到连接名称'LocalSqlServer'或连接字符串为空。”错误?
在应用程序配置中找不到连接名称“LocalSqlServer”或连接字符串为空
Spring:在名称为“dispatcher”的 DispatcherServlet 中找不到带有 URI [] 的 HTTP 请求的映射