Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net GraphQL客户端正在重新调整C中的空数据#_.net_Graphql_Json.net_Jsonserializer_Graphql.net - Fatal编程技术网

.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; }
        }