如何接收一个真实的对象在GraphQL dotnet客户端应用程序?



我运行一个GraphQL客户端并发送查询

var response3 = await client2.SendQueryAsync<ADescriptorResponse2>(request2);
var response2 = await client2.SendQueryAsync<dynamic>(request2);
var response1 = await client2.SendQueryAsync<object>(request2);

public class ADescriptorResponse2
{
public ADescriptor aDescriptor { get; set; }
}
public class ADescriptor
{
public long  Action { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}

但是在第一种情况下var response3 = await client2.SendQueryAsync(request2);我收到了回复。Data ==null,类型ADescriptorResponse2在其他两种情况下,我收到的数据是正确的,但它是newtonsoft . json . linq . jobject类型。为什么我没有收到ADescriptorResponse2的数据填充数据?什么是错误的?

这很可能意味着数据的结构不能正确地反序列化为ADescriptorResponse2的类型。

您可以检查从response2和response1获得的数据的结构,看看它是否处于ADescriptorResponse2的形状。

这可能是一些嵌套对象问题,您需要在ADescriptorResponse2之上的另一个对象或类似的东西。

最新更新