Giter Club home page Giter Club logo

restsharp's Introduction

RestSharp - .NET REST Client That (Hopefully) Doesn't Suck

License: Apache License 2.0

Key Features

  • Automatic XML and JSON deserialization
  • Fuzzy name matching ('product_id' in XML/JSON will match property named 'ProductId')
  • Automatic detection of type of content returned
  • GET, POST, PUT, HEAD, OPTIONS, DELETE supported
  • Basic, NTLM and Parameter-based Authenticators included
  • Supports custom authentication schemes
  • Multi-part form/file uploads
  • T4 Helper to generate C# classes from an XML document

Basic Usage

var client = new RestClient();
client.BaseUrl = "http://example.com";
// client.Authenticator = new BasicAuthenticator(username, password);

var request = new RestRequest(); // GET by default
// request.Method = Method.GET | Method.POST | Method.PUT | Method.DELETE | Method.HEAD | Method.OPTIONS
request.Resource = "resource";
request.AddParameter("name", "value");

// add parameters for all properties on an object
request.AddObject(object);

// or just whitelisted properties
request.AddObject(object, "PersonId", "Name", ...);

// easily add HTTP Headers
request.AddParameter("header", "value", ParameterType.HttpHeader);

// supports XML/JSON request bodies
request.RequestFormat = RequestFormat.Xml;
request.AddBody(object);

// add files (only works with compatible verbs)
request.AddFile(path);
    
// get raw response
RestResponse response = client.Execute(request);
// response.Content : string representation of response

// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
RestResponse<Person> response2 = client.Execute<Person>(request);
var name = response2.Data.Name;

// or download and save file to disk
client.DownloadData(request).SaveAs(path);

// shortcuts for parsing xml/feeds
client.ExecuteAsXDocument(request);
client.ExecuteAsXmlDocument(request);
client.ExecuteAsSyndicationFeed(request);

restsharp's People

Contributors

johnsheehan avatar mstum avatar ryanfarley avatar dkarzon avatar csharpbydesign avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.