gpt4 book ai didi

servicestack - 使用 JsonServiceClient 获取 HttpResult

转载 作者:行者123 更新时间:2023-12-04 18:46:37 26 4
gpt4 key购买 nike

我正在使用 servicestack 的新 API 从其余服务方法之一返回 HttpResult。有没有办法使用 JsonServiceClient 获取 HttpResult?

例如:JSonServiceClient.Send<HttpResult>("DELETE","person", new { PersonID = 30 });
我想检查 httpresult 中的 header 信息。

谢谢。

最佳答案

没有 HttpResult 这样的东西来自 ServiceStack Web 服务的客户端响应。

您使用的是 HttpResult自定义从您的服务返回的 HTTP 响应,例如添加额外的 HTTP header 。但是客户端看到的响应体仍然只有 响应 DTO (如果有的话)。

使用 fiddler、wireshark、chome web 检查器(如果这是一个 Ajax 调用)或类似 ServiceStack 的 Request Logger plugin检查 HTTP 流量。

无效使用 ServiceStack 的 REST 客户端

还可以考虑使用适当的客户端 REST API,如 client.Delete() , client.Get()等而不是重载 T.Send()方法(通常是 POST)。

在 ServiceClient 中使用 Typed DTO 而不是不支持的匿名类型。

使用 ServiceStack 服务客户端检查 HTTP header

ServiceStack 的服务客户端提供 LocalGlobal您可以使用 WebResponse(和请求)过滤器来检查为该请求返回的 WebClient 的 HttpWebResponse,例如:

client.ResponseFilter = httpRes => {
httpRes.Headers.. //do something with returned headers
};
client.Delete(new Person { Id = 30, ...});

关于servicestack - 使用 JsonServiceClient 获取 HttpResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297061/

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