.net GraphQL客户端正在重新调整C中的空数据#
我在服务器端定义了一个查询.net GraphQL客户端正在重新调整C中的空数据#,.net,graphql,json.net,jsonserializer,graphql.net,.net,Graphql,Json.net,Jsonserializer,Graphql.net,我在服务器端定义了一个查询 public TradeQuery(ITradeService tradeservice) { Name = nameof(TradeQuery); Field<ListGraphType<TradeType>>("trades", resolve: r => { return tradeservice.GetTrades(); }); } 得到的回应是 {"
public TradeQuery(ITradeService tradeservice)
{
Name = nameof(TradeQuery);
Field<ListGraphType<TradeType>>("trades", resolve: r => { return tradeservice.GetTrades(); });
}
得到的回应是
{"data": {
"tradeQuery": {
"trades": [
{
"id": 3,
"price": 600,
"quantity": 600
},
{
"id": 4,
"price": 100,
"quantity": 100
}]}}}
但当我尝试使用GraphQLHttpClient
调用相同的查询时,它返回为null
在下面的代码中,我在availableTrades
对象中得到空值
string apiEndpoint = "https://localhost:44342/graphql";
var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions {
EndPoint = new Uri (apiEndpoint)
}, new NewtonsoftJsonSerializer());
var tradeQuery = @"{
tradeQuery{
trades {
id
price
quantity}}}";
GraphQLRequest graphQLRequest = new GraphQLRequest(tradeQuery);
var tradeQueryResponse = await graphQLClient.SendQueryAsync<TradeQuery>(graphQLRequest);
var availableTrades = tradeQueryResponse.Data.Trades;
你能告诉我哪里可能出了问题吗?它在失眠中很有效。没有身份验证实现我认为json的去验证存在问题。当我使用SendQueryAsync(动态)时,它工作了。你们知道我们如何避免使用dynamic,并将其放入所需的对象中吗。
string apiEndpoint = "https://localhost:44342/graphql";
var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions {
EndPoint = new Uri (apiEndpoint)
}, new NewtonsoftJsonSerializer());
var tradeQuery = @"{
tradeQuery{
trades {
id
price
quantity}}}";
GraphQLRequest graphQLRequest = new GraphQLRequest(tradeQuery);
var tradeQueryResponse = await graphQLClient.SendQueryAsync<TradeQuery>(graphQLRequest);
var availableTrades = tradeQueryResponse.Data.Trades;
public class TradeQuery
{
public List<Trade> Trades { get; set; }
}