我在Windows Phone 7.1项目中使用RestSharp。
我的问题是我无法以XML格式返回响应数据,我的响应始终使用JSON,而我的服务器同时支持JSON和XML。
实施例: 网址:http://timtim.vn:8080/fktw/services/timhot/photo/15732
如您所见,服务器可以返回XML。但在我的项目中,RestSharp响应是JSON格式。我设置了RequestFormat request.RequestFormat = DataFormat.Xml;
,但它不起作用!
使用JsonDeserializer,我仍然可以完美地反序列化响应,但我想知道这个问题的原因。
谢谢!
答案 0 :(得分:2)
原因是RestSharp默认有6个ContentTypes(你可以在RestClient对象的ContentTypes prorperty中看到它们。第一个ContentType是“application / json”。所以对于RestClient,内容类型是它要请求的第一个,如http://timtim.vn:8080/fktw/services/timhot/photo/15732支持JSON,然后响应内容类型为JSON。
如果您通过编码:client.RemoveHandler("application/json");
删除它,那么响应内容类型将是XML,这实际上是下一个ContentType首选项。
但是我不知道如何强制显示客户端的ContentType首选项。
此致
答案 1 :(得分:0)
我在客户声明后放入线条的快速技巧:
client.ClearHandlers();
client.AddHandler("application/xml", new XmlDeserializer());
client.AddHandler("text/xml", new XmlDeserializer());