【发布时间】:2021-11-27 21:47:13
【问题描述】:
我正在尝试从 C# 客户端使用 Graphql Api。为此,我正在使用 GraphQl.Net Nuget 包。问题是,我不知道如何设置 Api Url,因为我没有 HttpRequest 对象,这也会导致其他问题,即我无法设置身份验证标头并将令牌与请求一起发送。我的代码如下:
public void Post(TestGraphQl.GraphQLQuery query)
{
var inputs = query.Variables.ToInputs();
var queryToExecute = query.Query;
var result = _executer.ExecuteAsync(_ =>
{
_.Schema = _schema;
_.Query = queryToExecute;
_.OperationName = query.OperationName;
_.Inputs = inputs;
//_.ComplexityConfiguration = new ComplexityConfiguration { MaxDepth = 15 };
_.FieldMiddleware.Use<InstrumentFieldsMiddleware>();
}).Result;
var httpResult = result.Errors?.Count > 0
? HttpStatusCode.BadRequest
: HttpStatusCode.OK;
var json = _writer.Write(result);
}
调用者看起来像这样:
var jObject = new Newtonsoft.Json.Linq.JObject();
jObject.Add("id", deviceId);
client.Post(new GraphQLQuery { Query = "query($id: String) { device (id: $id) { displayName, id } }", Variables = jObject });
我对这个主题完全陌生,感谢任何帮助。非常感谢!!
【问题讨论】:
-
在使用 GraphQLHttpClient 时如何处理节流参数响应??