Простой полный пример RestSharp [закрыт]

Я пытался создать простое прототипное веб-приложение, которое использует 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?)  *

person Nil Pun    schedule 19.04.2012    source источник
comment
@JohnSheehan выглядит так, как будто twillio использует HttpClient и restsharp   -  person tatigo    schedule 23.03.2018


Ответы (3)


Мне удалось найти запись в блоге на эту тему, которая ссылается на проект с открытым исходным кодом, реализующий RestSharp. Надеюсь на некоторую помощь для вас.

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-a-c-developer/ Сообщение в блоге состоит из двух частей, и проект находится здесь: https://github.com/dkarzon/DropNet

Это может помочь, если у вас есть полный пример того, что не работает. Трудно получить контекст о том, как был настроен клиент, если вы не предоставите код.

person pms1969    schedule 19.04.2012
comment
привет @pmms, в основном я пытаюсь следовать коду отсюда stum.de/2009/12/22/, но я получаю сообщение об ошибке, описанное выше в исходном вопросе. - person Nil Pun; 19.04.2012
comment
Извините, не могу связаться с ним внутри корпоративной сети. Попробую поискать позже. - person pms1969; 19.04.2012
comment
Хорошо, глядя на пример, они используют var, вы используете RestResponse. Попробуйте либо использовать var, либо IRestResponse. Они также используют общий Execute. - person pms1969; 20.04.2012
comment
Наконец-то достойный пример, ура! - person ; 22.06.2015
comment
Как и сейчас, это ответ только по ссылке. - person Alex; 26.11.2015

блог Pawel Sawicz .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)

GitHub-страница RestSharp содержит довольно исчерпывающий образец в середине страницы. Для начала установите пакет RestSharp NuGet в свой проект, затем включите в свой код необходимые ссылки на пространство имен, после чего приведенный выше код должен работать (возможно, вам не нужен полный пример приложения).

NuGet RestSharp

person wonea    schedule 18.06.2013
comment
Отсутствует параметр и заголовки - person Kristina Lex; 07.08.2019
comment
Ваш первый пример GET не работает: The type or namespace name 'List<>' could not be found The type or namespace name 'Items' could not be found - person Alex G; 01.05.2020
comment
спасибо, это отличная быстрая шпаргалка :) - person Alexander; 20.11.2020
comment
большое спасибо :) - person CABascourt; 21.01.2021

изменение

RestResponse response = client.Execute(request);

to

IRestResponse response = client.Execute(request);

работал на меня.

person fractal    schedule 27.03.2013
comment
просто чтобы любой, кто попадет сюда через поиск Google; изменение на IRestResponse также помогает с типизированными вызовами. IRestResponse‹DummyData› typedResponse = client.Execute‹DummyData›(запрос); работает как положено, но RestResponse‹DummyData› typedResponse = client.Execute‹DummyData›(request); не. - person mahonya; 28.01.2015
comment
Зависит от того, что вам вернут. например, в моем случае я использую response.Data, потому что я делаю это var response = Client.Execute<List<Skill>>(request);, в котором я возвращаю return response.Data; Так что для меня я на самом деле уже использую IRestResponse с var, потому что если бы я был явным, это было бы IRestResponse<List<Skill>> для ответа. В противном случае ответ верный ! просто добавляю комментарий - person Tom Stickel; 22.07.2016