Quelle est la meilleure façon de consumr les services Web REST?

Quelle est la meilleure façon de consumr les services Web REST à partir de .NET?

Une approche simple et directe consisterait à utiliser WebClient, qui se trouve dans l’espace de noms System.Net.

Tout ce que vous avez à faire est de passer l’URI requirejs avec tous les parameters requirejs sous la forme d’une chaîne de requête et vous devriez récupérer la réponse sous la forme d’une chaîne, que ce soit json ou xml. Par exemple.

using System.Net; ssortingng param = "hello"; ssortingng url = Ssortingng.Format("http://somedomain.com/samplerequest?greeting={0}",param); WebClient serviceRequest = new WebClient(); ssortingng response = serviceRequest.DownloadSsortingng(new Uri(url)); 

Ensuite, comme Nick l’a mentionné, vous pouvez utiliser XmlDocument ou JavaScriptSerializer pour manipuler les résultats selon vos besoins. Quoi qu’il en soit, je suggère de consulter la documentation pour voir si elle répond à vos besoins. http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

Au lieu d’utiliser WebClient comme Kenney, vous pouvez utiliser HttpWebRequest et HttpWebResponse et traiter le résultat avec un StreamReader et un XmlDocument.

RestSharp , un composant .NET léger qui vous permet de consumr facilement les services Web REST

À mon avis, la manière la plus simple d’implémenter une API REST consiste à utiliser Service Stack:

http://www.servicestack.net/

Dans mon dernier projet Windows, j’ai fait une preuve de concept dans WCF et ServiceStack et l’application Service Stack était plus rapide (vous pouvez rechercher des mesures dans le site Service Stack) et plus facile à maintenir (moins de code, moins d’implémentation magique). Et le point le plus important, cela vous aide à vous concentrer dans la simplicité.

Voulez-vous consumr ou publier? Si vous voulez consumr, comme créer des requêtes, le meilleur moyen d’interagir avec celui-ci est de déterminer le type sous lequel il va se combiner, généralement JSON ou XML. Une fois que vous avez votre type, vous pouvez utiliser XmlDocument ou JavaScriptSerializer pour récupérer les informations et les utiliser.

Si vous voulez produire une interface REST, vous voudrez probablement utiliser soit MVC, une vue REST ou WCF comme l’a dit @Brian.

Si les services REST ont été créés à l’aide de l’API Web ASP.NET, j’utiliserais les bibliothèques du client Microsoft HTTP. (paquet nuget disponible). NB Cela semble avoir remplacé les bibliothèques clientes web api répertoriées dans la capture d’écran nuget sur le lien ci-dessous.

Cela fonctionnera à partir de .NET 4, Windows Store Apps, Windows Phone 7.5 / 8, Silverlight 4 et 5.

En théorie, vous pouvez également l’utiliser pour appeler n’importe quel service REST construit avec d’autres frameworks.

Voici un lien avec quelques exemples d’utilisation de la classe HttpClient pour appeler les services REST: Appeler une API Web à partir d’un client .net