gpt4 book ai didi

c# - JsonServiceClient 返回具有正确属性但空值的响应

转载 作者:行者123 更新时间:2023-11-30 15:55:50 26 4
gpt4 key购买 nike

我正在尝试对外部服务发出 JSON 请求,它看起来像这样:

获取请求:

https://remotehost/path/mycount?foo=C&bar=21

响应:

{"count":1000}

为此,我使用 ServiceStack JsonServiceClient,下面是我的代码

var client = new JsonServiceClient(classifiedSearchBaseURL);
var response = client.Get<CountResponse>(new MyRequest {
foo = "C",
bar = 21
});

class MyRequest
{
public string foo { get; set; }
public int bar { get; set; }
}

class CountResponse
{
public string count;
}

问题是我得到一个属性“count”为空的响应对象,即使服务器用正确的值/响应(使用 Fiddler)回答 200

我尝试将计数类型从字符串更改为整数,但我得到的是 0 而不是 null。

你们有什么想法吗?

感谢您的帮助!

最佳答案

默认情况下,ServiceStack 仅序列化公共(public)属性,因此您需要将 Response DTO 更改为:

class CountResponse
{
public string count { get; set; }
}

我还建议添加 IReturn<T>标记界面如:

class MyRequest : IReturn<CountResponse>
{
public string foo { get; set; }
public int bar { get; set; }
}

因此客户端可以自动推断响应类型,因此您的调用站点可以减少为:

var response = client.Get(new MyRequest { foo = "C", bar = 21 });

关于c# - JsonServiceClient 返回具有正确属性但空值的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com