Как передать объект в мутацию GraphQL с помощью Graph Client в C #

Я реализовал mutation в C# и я могу позвонить из insomnia но проблема с запросом того же самого с использованием Мои типы определены как

      public class CheckOutType : ObjectGraphType 
{
        public CheckOutType(ICheckOutTypeService checkOutTypeService)
        {
            Field<NonNullGraphType<StringGraphType>>("EmailId");
            Field<NonNullGraphType<StringGraphType>>("ClientCode");
        }
}
public class CheckOutInputType : InputObjectGraphType 
{
    public CheckOutInputType(ICheckOutTypeService checkOutTypeService)
    {
        Field<NonNullGraphType<StringGraphType>>("EmailId");
        Field<NonNullGraphType<StringGraphType>>("ClientCode");
    }
}

Мутация определяется как

       public class CheckOutMutation : ObjectGraphType
{
    public CheckOutMutation(ICheckOutTypeService checkOutTypeService)
    {
        Field<CheckOutType>(
          "VRCheckOut",
          arguments: new QueryArguments(
            new QueryArgument<NonNullGraphType<CheckOutInputType>> { Name = "CheckOutEntries" }
          ),
          resolve: context =>
          {
              var checkOutData = context.GetArgument<CheckOut>("CheckOutEntries");
              // some statement
              return checkOutData;
          });
    }
}

Это прекрасно работает при бессоннице. Ссылка -Бессонница Действительный ответ

Однако, когда я попытался вызвать ту же мутацию в C#, используя GraphQLHttpClientон возвращается с сообщением об ошибке как GraphQL.Validation.InvalidVariableError: переменная '$CheckOutInput' недействительна. Для ненулевой переменной не указано значение.Ниже приведен код, который я использую для вызова мутации.

      string query = @"mutation CheckOutMutation($CheckOutInput:CheckOutInputType!)
                            {
                              checkOutMutation
                              {
                                vRCheckOut(checkOutEntries: $CheckOutInput)
                                {
                                  emailId
                                  clientCode 
                                }
                              }
                            }";
            
               GraphQLRequest queryObject = new GraphQLRequest()
            {
                Query = query,
                Variables = new {  emailId = "john@email.com",
                clientCode = "ACC101" }
                
            };
            var client = new GraphQLHttpClient(ConfigSettings.BaseAPIUrl, new NewtonsoftJsonSerializer());
            var response = client.SendMutationAsync<dynamic>(queryObject).Result;

Не могли бы вы подсказать / подсказать, чего в этом не хватает?

0 ответов

Другие вопросы по тегам