ServiceStack:如何从 JsonServiceClient Get 方法获取 StatusCode
ServiceStack :How to get StatusCode from JsonServiceClient Get method
我正在调用 ThirdParty API 使用 JsonServiceClient
。
var client = new JsonServiceClient(ServiceURL);
var response = client.Get<Output>("Search?id=" + id);
输出是 class 表示来自第三方 API 的响应。我能够正确获得输出。但我想捕获此 API 响应的 StatusCode。我该怎么做?
请注意,我已尝试使用 WebHttpResponse 对象而不是 Output(response class)。但我希望 statuseCode 应该是输出 class 的 属性 而不是参数
WebHttpResponse
。有什么办法可以实现吗?
您需要使用响应过滤器,例如:
var client = new JsonServiceClient(ServiceURL) {
ResponseFilter = res => res.StatusCode.ToString().Print()
};
但 ServiceStack 服务客户端仅用于使用 ServiceStack 服务,用于使用第 3 方 API,我建议改用 HTTP Utils,例如:
var response = ServiceURL.CombineWith("Search").AddQueryParam("id",id)
.GetJsonFromUrl(responseFilter:res => res.StatusCode)
.FromJson<Output>();
我正在调用 ThirdParty API 使用 JsonServiceClient
。
var client = new JsonServiceClient(ServiceURL);
var response = client.Get<Output>("Search?id=" + id);
输出是 class 表示来自第三方 API 的响应。我能够正确获得输出。但我想捕获此 API 响应的 StatusCode。我该怎么做?
请注意,我已尝试使用 WebHttpResponse 对象而不是 Output(response class)。但我希望 statuseCode 应该是输出 class 的 属性 而不是参数
WebHttpResponse
。有什么办法可以实现吗?
您需要使用响应过滤器,例如:
var client = new JsonServiceClient(ServiceURL) {
ResponseFilter = res => res.StatusCode.ToString().Print()
};
但 ServiceStack 服务客户端仅用于使用 ServiceStack 服务,用于使用第 3 方 API,我建议改用 HTTP Utils,例如:
var response = ServiceURL.CombineWith("Search").AddQueryParam("id",id)
.GetJsonFromUrl(responseFilter:res => res.StatusCode)
.FromJson<Output>();