我的休息服务使用 ISO 8601 作为所有请求和响应的日期格式。有没有办法在 RestClient
上设置它,或者我需要在每个单独的 RestRequest
上设置它吗?
最佳答案
看起来没有任何内置功能可以做到这一点。 Newtonsoft.Json 提供了一个 IsoDateTimeConverter ,可以完成您正在寻找的序列化。为了使用它进行序列化,我认为您需要在自己的 ISerializer 中复制 RestSharp.Serializers.JsonSerializer ,它的功能几乎与 RestSharp 版本完全相同,但在创建的实例中调整 NewtonSoft.Json.JsonSerializer.Converters 属性here并添加/替换日期/时间转换器。
就反序列化而言,您应该能够在新的 JsonDeserializer 上设置 IDeserializer.DateFormat 属性并将其设置为处理程序:
client.AddHandler ("application/json", new JsonDeserializer() { DateFormat = "yyyy-MM-ddTHH\:mm\:ss.fffffffzzz" });
关于windows-phone-7 - 如何指定用于给定客户端上的所有 Restsharp 请求的 DateFormat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097529/