0

我有以下代码:

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 行才能使其工作?

4

1 回答 1

2

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

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

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

于 2013-01-30T19:32:57.570 回答