我有以下代码:
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行才能使它有效吗?
答案 0 :(得分:2)
RestRequest.RequestFormat属性告诉RestSharp您要向服务器发送什么类型的数据;它没有告诉它返回什么数据。相反,它由请求管理。
在这个例子中,第4行没有做任何事情,因为你没有向服务器发送任何数据。
然而,第3行告诉服务器要返回什么类型的数据。所以我将其留在了。或者,如果这不是它应该如何工作,请查看响应API请求的代码以及API如何确定要返回的数据的格式。