2013-01-30 5 views
0

У меня есть следующий код:RestSharp RequestFormat не работает

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-ей строку, чтобы заставить ее работать?

ответ

2

Свойство RestRequest.RequestFormat сообщает RestSharp, какой тип данных вы отправляете на сервер; он не сообщает, какие данные должны возвращаться. Вместо этого управление выполняется по запросу.

В этом примере строка 4 ничего не делает, потому что вы не отправляете какие-либо данные на сервер.

Строка 3, однако, сообщает серверу, какой тип данных должен возвращаться. Поэтому я оставил бы это. Или, если это не так, как должно работать, посмотрите на код, отвечающий на запрос API, и то, как API определяет формат возвращаемых данных.

Смежные вопросы