You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please use the Google Group for feature requests and troubleshooting usage.
License: Apache License 2.0
Features
Supports .NET 3.5+, Silverlight 4, Windows Phone 7, Mono, MonoTouch
Automatic XML and JSON deserialization
Supports custom serialization and deserialization via ISerializer and IDeserializer
Fuzzy element name matching ('product_id' in XML/JSON will match C# property named 'ProductId')
Automatic detection of type of content returned
GET, POST, PUT, HEAD, OPTIONS, DELETE supported
oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators included
Supports custom authentication schemes via IAuthenticator
Multi-part form/file uploads
T4 Helper to generate C# classes from an XML document
varclient=newRestClient("http://example.com");// client.Authenticator = new HttpBasicAuthenticator(username, password);varrequest=newRestRequest("resource/{id}",Method.POST);request.AddParameter("name","value");// adds to POST or URL querystring based on Methodrequest.AddUrlSegment("id",123);// replaces matching token in request.Resource// add parameters for all properties on an objectrequest.AddObject(object);// or just whitelisted propertiesrequest.AddObject(object,"PersonId","Name", ...);// easily add HTTP Headersrequest.AddHeader("header","value");// add files to upload (works with compatible verbs)request.AddFile(path);// execute the requestRestResponseresponse=client.Execute(request);varcontent=response.Content;// raw content as string// or automatically deserialize result// return content type is sniffed but can be explicitly set via RestClient.AddHandler();RestResponse<Person>response2=client.Execute<Person>(request);varname=response2.Data.Name;// or download and save file to diskclient.DownloadData(request).SaveAs(path);// easy async supportclient.ExecuteAsync(request, response =>{Console.WriteLine(response.Content);});// async with deserializationvarasyncHandle=client.ExecuteAsync<Person>(request, response =>{Console.WriteLine(response.Data.Name);});// abort the request on demandasyncHandle.Abort();