Я пытался создать простой прототип веб-приложения, которое использует RestSharp для вызова Rest API.
Я не смог найти ни одного хорошего примера. Может ли кто-нибудь поделиться и направить меня на нужный ресурс, пожалуйста? Я уже рассмотрел следующее и не привожу то, что ищу, т.е. полностью функциональный пример:
http://restsharp.org/ (нет полного приложения с примером)
http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/ (кажется старым)
При создании прототипа я получаю следующую ошибку для кода ниже:
RestResponse response = client.Execute(request);
*Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?) *
Ответы:
Мне удалось найти сообщение в блоге на эту тему, в котором есть ссылка на проект с открытым исходным кодом, реализующий RestSharp. Надеюсь, что вам поможет.
http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-ac-developer/ Сообщение в блоге состоит из двух частей, а проект находится здесь: https://github.com/ dkarzon / DropNet
Это могло бы помочь, если бы у вас был полный пример того, что не работает. Трудно получить контекст о том, как был настроен клиент, если вы не предоставите код.
источник
В блоге Павла Савича. .NET есть действительно хорошее объяснение и пример кода, объясняющий, как вызвать библиотеку;
ПОЛУЧИТЬ:
var client = new RestClient("192.168.0.1"); var request = new RestRequest("api/item/", Method.GET); var queryResult = client.Execute<List<Items>>(request).Data;
ПОЧТА:
var client = new RestClient("http://192.168.0.1"); var request = new RestRequest("api/item/", Method.POST); request.RequestFormat = DataFormat.Json; request.AddBody(new Item { ItemName = someName, Price = 19.99 }); client.Execute(request);
УДАЛЯТЬ:
var item = new Item(){//body}; var client = new RestClient("http://192.168.0.1"); var request = new RestRequest("api/item/{id}", Method.DELETE); request.AddParameter("id", idItem); client.Execute(request)
На странице RestSharp GitHub есть довольно исчерпывающий образец на полпути вниз. Чтобы приступить к работе, установите пакет NuGet RestSharp в свой проект, затем включите необходимые ссылки на пространства имен в свой код, после чего приведенный выше код должен работать (возможно, вам не понадобится полный пример приложения).
источник
The type or namespace name 'List<>' could not be found
The type or namespace name 'Items' could not be found
Изменение
к
работал у меня.
источник
var response = client.Execute(request) as RestResponse;
response.Data
потому что я делаю это, иvar response = Client.Execute<List<Skill>>(request);
я возвращаюсьreturn response.Data;
Итак, для меня я фактически уже использую IRestResponse с var, потому что, если бы я был явным, это было быIRestResponse<List<Skill>>
для ответа - в противном случае ответ правильный! просто добавляю комментарий