RestSharp RequestFormat无法正常工作

时间:2013-01-30 18:44:39

标签: c# rest restsharp

我有以下代码:

1.  var client = new RestClient("http://localhost:52347/");
2.  var xmlRequest = new RestRequest("api/students/{id}", Method.GET);
3.  //xmlRequest.AddHeader(HttpRequestHeader.Accept.ToString(), "text/xml");
4.  xmlRequest.RequestFormat = DataFormat.Xml;
5.  xmlRequest.AddUrlSegment("id", "5");
6.  
7.  IRestResponse xmlResponse = client.Execute(xmlRequest);
8.  var xmlContent = xmlResponse.Content;
9.  
10. Console.WriteLine(xmlContent);

但是,通过此设置,我仍然可以获得JSON的返回格式。如果我取消注释第3行并注释掉第4行就可以了,但我不愿意这样做。似乎第4行根本没有做任何事情。我有什么遗漏或者我必须使用第3行才能使它有效吗?

1 个答案:

答案 0 :(得分:2)

RestRequest.RequestFormat属性告诉RestSharp您要向服务器发送什么类型的数据;它没有告诉它返回什么数据。相反,它由请求管理。

在这个例子中,第4行没有做任何事情,因为你没有向服务器发送任何数据。

然而,第3行告诉服务器要返回什么类型的数据。所以我将其留在了。或者,如果这不是它应该如何工作,请查看响应API请求的代码以及API如何确定要返回的数据的格式。