Вопрос по rest, c# – RestSharp простой полный пример [закрыто]

82

Я пытался создать простое прототипное веб-приложение, которое использует RestSharp для вызова Rest API.

Я не смог найти ни одного хорошего примера этого. Может ли кто-нибудь поделиться, и направить меня на правильный ресурс, пожалуйста? Я уже рассмотрел следующее и не предоставляю то, что я ищу, то есть полностью функциональный пример:

http://restsharp.org/ (Не имеет полного применения с примером)

http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/ (кажется, старый)

Во время прототипирования я получаю ошибку ниже для кода ниже:

<code>RestResponse response = client.Execute(request);

*Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?)  *
</code>
@JohnSheehan выглядит так, будто twillio использует HttpClient или restsharp tatigo

Ваш Ответ

3   ответа
21

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

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

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

привет @pmms, в основном я пытаюсь следовать отсюда кодуstum.de/2009/12/22/… но я получаю ошибку, которую я описал в моем первоначальном вопросе выше. Nil Pun
Хорошо, глядя на пример, они используют «var», вы используете RestResponse. Попробуйте либо использовать & quot; var & quot; или IRestResponse. Они также используют универсальный Execute.
Наконец достойный пример, ура!
Извините, вы не можете связаться с ним внутри корпоративной сети. Я попробую посмотреть позже.
Как и сейчас, это только ссылка.
121

Павел Савич. 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 имеет довольно исчерпывающий образец на полпути вниз по странице. Чтобы начать установку пакета RestSharp NuGet в свой проект, затем включите необходимые ссылки на пространство имен в свой код, тогда приведенный выше код должен работать (возможно, отрицая необходимость в полном примере приложения).

NuGet RestSharp

23

изменения

RestResponse response = client.Execute(request);

в

IRestResponse response = client.Execute(request);

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

или жеvar response = client.Execute(request) as RestResponse;
просто чтобы позволить любому, кто приземлится здесь, через поиск в Google; изменение на IRestResponse также помогает с набранными вызовами. IRestResponse & л; DummyData & GT; typedResponse = client.Execute & lt; DummyData & gt; (запрос); работает как положено, но RestResponse & lt; DummyData & gt; typedResponse = client.Execute & lt; DummyData & gt; (запрос); не.
Зависит от того, что вы вернули. например, в моем случае я используюresponse.Data     потому что я делаю этоvar response = Client.Execute<List<Skill>>(request);  В который я возвращаюсьreturn response.Data;    Так что для меня я фактически уже использую IRestResponse с var, потому что, если бы я был явным, это было быIRestResponse<List<Skill>> для ответа - в противном случае ответ правильный! просто добавив комментарий

Похожие вопросы