编写变异图ql客户端c#
我试图写变异,但它给了我错误。编写变异图ql客户端c#,c#,graphql,graphql-dotnet,graphqlclient,C#,Graphql,Graphql Dotnet,Graphqlclient,我试图写变异,但它给了我错误。 as{“errors”:[{“message”:“语法错误:应为$,找到名称\“objects\”,“locations”:[{“line”:2,“column”:27}],“extensions”:{“code”:“GRAPHQL_PARSE_FAILED”}}} 我写的代码是这样的。 [HttpGet("GraphDataCreate")] public async Task<dynamic> R
as
{“errors”:[{“message”:“语法错误:应为$,找到名称\“objects\”,“locations”:[{“line”:2,“column”:27}],“extensions”:{“code”:“GRAPHQL_PARSE_FAILED”}}}
我写的代码是这样的。 [HttpGet("GraphDataCreate")]
public async Task<dynamic> ReturnGraphDataCreate()
{
using var graphQLClient = new GraphQLHttpClient("https://api.spacex.land/graphql/", new NewtonsoftJsonSerializer());
var trial = new GraphQLRequest
{
Query = @"
query insert_users(objects: { name: $name, rocket: $rocket }) {
returning {
id
name
rocket
timestamp
twitter
}
}",
OperationName = "insert_users",
Variables = new
{
name = "AdiAntNam",
rocket = "SPUTNIK5V"
}
};
var graphQLResponse = (object)(null);
try
{
graphQLResponse = await graphQLClient.SendQueryAsync<dynamic>(trial);
}
catch (Exception ex)
{
var err = ex;
string err1 = ex.Message;
string err2 = ex.InnerException.Message;
}
return Task.FromResult(graphQLResponse);
}
[HttpGet(“GraphDataCreate”)]
公共异步任务ReturnGraphDataCreate()
{
使用var graphQLClient=new GraphQLHttpClient(“https://api.spacex.land/graphql/“,新的NewtonsoftJsonSerializer());
var试用=新的GraphQLRequest
{
查询=@“
查询插入用户(对象:{name:$name,rocket:$rocket}){
返回{
身份证件
名称
火箭
时间戳
啁啾
}
}",
OperationName=“插入用户”,
变量=新
{
name=“AdiAntNam”,
火箭=“人造卫星5V”
}
};
var graphQLResponse=(对象)(null);
尝试
{
graphQLResponse=等待graphQLClient.SendQueryAsync(试用);
}
捕获(例外情况除外)
{
var-err=ex;
字符串err1=例如消息;
字符串err2=ex.InnerException.Message;
}
返回Task.FromResult(graphQLResponse);
}
现在我在这部分遗漏了什么?
我引用的参考资料来自这里这个例子的问题是编写的数据类型很难理解
PersonAndFilms($id:id)
现在id是一个数据类型,所以我假设它只是一个声明的变量名,这就是我感到困惑的原因。因此,我将其编写为query
insert_users(objects:{name:$name,rocket:$rocket})
,这对于GraphQL来说是不可理解的,因为它需要数据类型,所以我将我的查询重新编写如下。var trial = new GraphQLRequest
{
Query = @"
mutation xyz($nameU: String, $rocketU: String)
{
insert_users(objects: { name: $nameU , rocket: $rocketU })
{
returning
{
id
name
rocket
timestamp
twitter
}
}
}",
OperationName = "xyz",
Variables = new
{
nameU = "AdiAntNam2",
rocketU = "SPUTNIK5V"
}
};
现在变异
xyz($nameU:String,$rocketU:String)
读取正确的数据类型。该示例在项目中的某些内容是正确的,但最终用户会感到困惑,因为$id:id
不太容易理解,所以最好使用我的示例。为什么将OperationName更改为xyz?我还不熟悉使用GraphQLI添加新项。我还看到您正在使用字符串进行类型声明。其他类型是否也使用布尔和整数?@DotNetProgrammer请查看此URL-因为有些参数需要字符串类型,有些参数需要布尔和整数。@DotNetProgrammer作为该部分目前只需要字符串。@DotNetProgrammer xyz仅用于知道您可以写入名称以外的任何内容。