Сообщение об ошибке в GraphQL.NET не имеет смысла - PullRequest
0 голосов
/ 26 сентября 2019

У меня настроена схема 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);
        }
    }

И данные:

enter image description here

Эта ошибка возвращается для других полей.Я даже пытался явно назвать поля, но ошибка не исчезла.Что может привести к сбою, когда ожидаемое имя и полученное имя якобы идентичны?

1 Ответ

0 голосов
/ 27 сентября 2019

В случае, если это кому-нибудь поможет, я обнаружил, что использовал для мутации неправильный тип поля.Поле должно иметь тип запроса, а аргумент должен иметь тип мутации (входной):

public MyMutation()
{
    Name = "Root mutation";
    Field<IdeaType>(
                   "createIdea",
                   arguments: new QueryArguments(new QueryArgument<NonNullGraphType<IdeaInputType>> { Name = "idea" }),
                   resolve: context => {...}
}

Это объясняет, почему ожидаемые и полученные имена полей былито же самое в ошибке.Одно имя на разных типах.

...