114 votes

RestSharp : exemple simple et complet

J'ai essayé de créer un prototype d'application web simple qui utilise RestSharp pour appeler Rest API.

Je n'ai pas pu en trouver un seul bon exemple. Quelqu'un pourrait-il partager et me diriger vers la bonne ressource s'il vous plaît ? J'ai déjà regardé les sites suivants, mais ils ne fournissent pas ce que je recherche, c'est-à-dire un exemple entièrement fonctionnel :

http://restsharp.org/ (Il n'y a pas d'application complète avec exemple)

http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/ (semble être vieux)

Lors du prototypage, j'obtiens l'erreur ci-dessous pour le code ci-dessous :

RestResponse response = client.Execute(request);

*Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?)  *

170voto

wonea Points 1299

Pawel Sawicz blog .NET a une très bonne explication et un code d'exemple, expliquant comment appeler la bibliothèque ;

GET :

var client = new RestClient("192.168.0.1");
var request = new RestRequest("api/item/", Method.GET);
var queryResult = client.Execute<List<Items>>(request).Data;

POST :

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);

DELETE :

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)

Le site Page GitHub de RestSharp a un échantillon assez exhaustif au milieu de la page. Pour commencer, installez le paquetage NuGet de RestSharp dans votre projet, puis incluez les références d'espace de noms nécessaires dans votre code. Le code ci-dessus devrait alors fonctionner (ce qui vous évitera peut-être d'avoir à créer une application d'exemple complète).

NuGet RestSharp

28voto

user904538 Points 565

Changement

RestResponse response = client.Execute(request);

à IRestResponse response = client.Execute(request);

a fonctionné pour moi

26voto

pms1969 Points 1906

J'ai réussi à trouver un article de blog sur le sujet, qui renvoie vers un projet open source qui implémente RestSharp. J'espère que cela pourra vous aider.

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-a-c-developer/ L'article de blog est en deux parties, et le projet est ici : https://github.com/dkarzon/DropNet

Cela pourrait aider si vous aviez un exemple complet de ce qui ne fonctionnait pas. Il est difficile d'obtenir un contexte sur la façon dont le client a été configuré si vous ne fournissez pas le code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X