Comment appeler une API RESTful avec ASP.NET 5
De travail avec ASP.NET 5 sur mon Mac dans le Code de Visual Studio. J'ai une API RESTful j'ai besoin d'appeler et vous ne savez pas exactement comment le faire. J'ai vu de nombreux exemples à l'aide de WebClient, HttpClient, WebRequest et HttpWebRequest.
Je pense que ma douleur est le point de dnxcore50 cadre. Quelqu'un peut-il svp m'indiquer le bon sens, avec des exemples de code?
Lire ce tutoriel
HttpClient est disponible dans .NET de Base. Cette question est assez vieille, je soupçonne que vous pouvez obtenir à partir de NuGet sans avoir à aller à la nightly builds maintenant.
J'ai essayé, mais ce que j'en arrive à cette ligne: Produit = attendre la réponse.Contenu.ReadAsAsync>Produit>(); j'obtiens cette erreur: 'HttpContent' ne contient pas une définition pour 'ReadAsAsync' et aucune méthode d'extension 'ReadAsAsync' acceptant un premier argument de type 'HttpContent' a pu être trouvé (vous manque une directive using ou une référence d'assembly?) [dnx451, dnxcore50]
Veuillez fournir votre code dans la question.
C'est à partir du tutoriel que vous avez envoyé.
HttpClient est disponible dans .NET de Base. Cette question est assez vieille, je soupçonne que vous pouvez obtenir à partir de NuGet sans avoir à aller à la nightly builds maintenant.
J'ai essayé, mais ce que j'en arrive à cette ligne: Produit = attendre la réponse.Contenu.ReadAsAsync>Produit>(); j'obtiens cette erreur: 'HttpContent' ne contient pas une définition pour 'ReadAsAsync' et aucune méthode d'extension 'ReadAsAsync' acceptant un premier argument de type 'HttpContent' a pu être trouvé (vous manque une directive using ou une référence d'assembly?) [dnx451, dnxcore50]
Veuillez fournir votre code dans la question.
C'est à partir du tutoriel que vous avez envoyé.
OriginalL'auteur Richard.Davenport | 2015-10-01
Vous devez vous connecter pour publier un commentaire.
Voici un exemple sur la façon d'appeler un service. Veuillez vérifier les
References
etusing
soigneusement.Une chose importante que vous avez à faire est de installer l'API Web des Bibliothèques clientes paquet: dans le menu Outils, sélectionnez Gestionnaire de Package NuGet, puis sélectionnez le Gestionnaire de Package Console. Dans le Gestionnaire de paquets fenêtre de la Console, tapez la commande suivante:
Install-Package Microsoft.AspNet.WebApi.Client
.Pour la totalité du code source, cochez cette lien.
Faute de frappe à
>Tracker>
. Devrait être<Tracker>
.WOW! Face À La Paume.... Ne peux pas croire que j'ai manqué. En fin de compte j'ai fait suivre ce tutoriel et utilisé une partie de ce que @Gigi dit trop. Merci pour votre aide!
LOL, jamais l'esprit. Heureux de vous aider 😀
OriginalL'auteur Triet Doan
Je suis en supposant que c'est la même façon, nous avons l'habitude de le faire avant ASP .NET 5, donc tout d'abord d'installer le ASP .NET Web API Client Bibliothèques de package NuGet.
Avec ce qui est disponible, vous faites référence à
System.Net.Http:
Puis vous l'utilisez comme suit:
Qui vous donne la réponse. En général, vous aurez envie de chercher dans le contenu, en particulier pour les requêtes GET. Vous pouvez le faire par:
Que le simple fait de vous donne la chaîne dans le contenu, donc si c'est du JSON, vous voudrez probablement utiliser quelque chose comme JSON.NET (Newtonsoft.Json) pour désérialiser dans une classe.
C'est à partir de la mémoire de sorte que vous pourriez avoir besoin d'un peu de tordre ici et là.
Je pensais que quelqu'un a dit HttpClient est disponible dans .NET de Base.
Oui, il est. Mais c'est dans l'espace de noms différent. Et un autre Package NuGet. Et probablement un tout autre NuGet nourrir.
Aussi, l'exemple de code montre un tas de attendent appelle l'un après l'autre, et ils ne regardent pas dépendants les uns des autres. Un parfait cas d'utilisation de
Task.WaitAll
ouTask.WaitAny
.C'est juste un exemple pour montrer les différentes utilisations de httpClient méthodes. Il n'est pas destiné à être un bel exemple de l'simultanément à l'exécution de code.
OriginalL'auteur Gigi
Pour ce faire, je suis en utilisant le NuGet nourrir https://api.nuget.org/v3/index.json
Dans mon projet.json j'ai actuellement ces dépendances et il suffit d'utiliser la "dnxcore50" cadre:
Alors que je suis en utilisant HttpClient. Droit maintenant (beta7) il ne fonctionne pas sur Linux ou OSX, en raison de https://github.com/dotnet/corefx/issues/2155.
OriginalL'auteur opiethehokie