我有一个成功支持查询的GraphQL模式设置。然而,在尝试突变时,我得到了以下奇怪的错误:Error "message": "GraphQL.Validation.ValidationError: Cannot query field \"id\" on type \"IdeaInput\". Did you mean \"id\"?"
下面是变异的输入类型:
public class IdeaInputType : InputAuditableGraphType<Idea>
{
public IdeaInputType()
{
Name = "IdeaInput";
Description = "Create idea";
Field(x => x.Id);
Field(x => x.Name, true);
Field(x => x.Summary);
}
}和数据:

对于其他字段,将返回此错误。我甚至尝试过显式地命名这些字段,但错误仍然存在。当预期名称和收到的名称表面上相同时,什么会导致此操作失败?
发布于 2019-09-27 23:01:39
如果这对任何人有帮助,我发现我对突变使用了错误的字段类型。字段必须具有查询类型,参数必须具有突变(输入)类型:
public MyMutation()
{
Name = "Root mutation";
Field<IdeaType>(
"createIdea",
arguments: new QueryArguments(new QueryArgument<NonNullGraphType<IdeaInputType>> { Name = "idea" }),
resolve: context => {...}
}这解释了错误中预期的字段名称和接收的字段名称相同的原因。不同类型的名称相同。
https://stackoverflow.com/questions/58120499
复制相似问题