SlideShare une entreprise Scribd logo
Utilisation d'une API Web avec ASP.NET MVC 3   Auteur: Jean-Michel ORMES
Utilisation d'une API Web avec ASP.NET MVC 3
    Nous allons voir quelles sont les étapes à suivre pour utiliser une API Web WCF au sein d'une
    application MVC.
    Tout d'abord, créons un projet de type Application Web ASP.NET MVC3 que l'on va appeler
    ArtistManager.




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   2
Utilisation d'une API Web avec ASP.NET MVC 3
    On sélectionne le modèle vide et on conserve le moteur de vue Razor.




      Une fois le projet créé, on effectue un clic-droit → Propriétés → Web. Dans la partie Serveurs, on
      indique un port spécifique (Exemple : 1402).




21/02/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   3
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)




     La prochaine étape consiste à installer un paquet de création d'API Web par l'intermédiaire de
     NuGet.
     NB : Si vous n'avez toujours pas installé NuGet sur votre machine, je vous suggère de lire ce tutoriel
     d'Hinault Romaric DONFACK qui détaille toutes les informations relatives à ce sujet.


21/02/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   4
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    Pour cela, nous allons cliquer sur Outils → Library Package Manager → Add Library Package
    Reference, rechercher le paquet WebApi.All, et l'installer.




21/02/2012    Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   5
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    Une fois l'installation effectuée, vous pouvez remarquer que des références ont été ajoutées à
    votre projet.




     Nous sommes désormais prêt à construire notre API Web.

     Dans un premier temps, nous allons créer un dossier API qui contiendra nos classes API.
     Au sein de ce dossier, nous allons ajouter une nouvelle classe API que l'on va appelée ArtistApi.




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   6
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
 A ce stade, vous devriez avoir ce code dans votre classe :




    On va la modifier en y ajoutant l'attribut ServiceContract afin d'indiquer à l'API Web que cette
    classe peut être exposée en tant que service.
    Cet attribut nécessite l'espace de noms System.ServiceModel.




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   7
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    Maintenant, nous allons enregistrer dans le fichier Global.asax.cs.
    Ajoutez les espaces de noms suivants :



      Dans la méthode RegisterRoutes, il va falloir ajouter le bout de code suivant afin d'enregistrer une
      route pour notre nouvel API Web :
      routes.Add(new ServiceRoute("api/artists", new HttpServiceHostFactory(), typeof(ArtistApi)));

      Vous devriez avoir :




21/02/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   8
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    La classe ServiceRoute permet de créer un itinéraire de service sur HTTP pour la prise en charge
    de scénarios REST. Elle prend 3 paramètres : un préfix d'itinéraire, une instance de classe
    HttpServiceHostFactory et un type de service.

    Nous allons implémenter une classe POCO Artiste qui contiendra les informations qui seront
    passés via l'API. Il s'agit essentiellement d'un DTO (Data Transfer Object) mais en HTTP on
    considère que cette entité est représentée par une « Ressource ». Nous créerons également une
    méthode qui exposera notre ressource. Cela permettra à de multiples clients d'accéder à la
    ressource.

    Comme fait précédemment, on va créer un dossier Ressources qui contiendra l'ensemble de nos
    ressources et y ajouter une classe Artist contenant le code suivant :




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   9
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    Dans la classe ArtistApi, il va falloir ajouter les espaces de noms suivants :



      Ainsi que la méthode Get suivante permettant de rapatrier les artistes :




      Ici, l'attribut WebGet indique à l'API Web que cette méthode doit être exposée en tant que
      requête HTTP GET.
      On prend soin de passer une chaîne vide à l'UriTemplate.

      En effet, nous avons déjà définit la route de notre URL dans le Global.asax.




21/02/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   10
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    D'ailleurs, vous pouvez vérifier que tout fonctionne et que votre liste d'artistes vous est renvoyée
    en vous rendant à l'URL suivante : http://localhost:1402/api/artists




       Afin de tester leurs fonctionnalités, les Web API contiennent un module de test côté client que l'on
       peut configurer en créant une instance de HttpConfiguration dans la méthode RegisterRoutes :




21/02/2012      Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   11
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    Il faudra ensuite passer cette instance au HttpServiceHostFactory de la route du Web API que
    nous avions créé précédemment.
    routes.Add(new ServiceRoute("api/artists", new HttpServiceHostFactory() { Configuration =
    config }, typeof(ArtistApi)));

    On relance le projet, puis on se rend à l'URL suivante : http://localhost:1402/api/artists/test
    Ce qui nous amène sur la page de test.




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   12
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)

    Lorsque l'on clique sur notre ressource, cela a pour effet de remplir les champs Request et
    HTTP/1.1




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   13
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    On clique sur le bouton Send pour afficher la réponse de la requête GET :




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   14
Utilisation d'une API Web avec ASP.NET MVC 3 (suite)
    On peut également récupérer la liste des Artistes au format JSON en passant la valeur «
    application/json » au paramètre Accept du champ Header :




21/02/2012     Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   15

Contenu connexe

PPTX
ASP.Net Web API - Léonard Labat (18 février 2014)
PDF
Nouveautés disponibles dans asp
PPTX
ASP.NET MVC, Web API & KnockoutJS
PDF
Partie 2: Angular
PDF
Visual studio 2012
PDF
Mobile development
PDF
Les 3 modes de concurrence wcf
PPTX
Asp.Net Web.API, SignalR et UX : le futur
ASP.Net Web API - Léonard Labat (18 février 2014)
Nouveautés disponibles dans asp
ASP.NET MVC, Web API & KnockoutJS
Partie 2: Angular
Visual studio 2012
Mobile development
Les 3 modes de concurrence wcf
Asp.Net Web.API, SignalR et UX : le futur

Similaire à Utilisation d'une api web avec asp (20)

PDF
Api - mix it 2013
PDF
Comprendre, utiliser et créer une API
PDF
Investir sur son API web (in French)
ODP
API Hypermedia - Devoxx 2015
PPTX
Web dev open door
PPTX
Soirée 3T Soat - Asp.net MVC
PDF
API-First pour de nouvelles expériences de commerce en ligne
PDF
Web APIs in Action (in French)
PDF
Créer une application web en asp.net mvc 2
PDF
Tutoriel ajax jquery
PDF
Presentation article rest : How-to
PDF
Démystifions l'API-culture!
PDF
Sécurisation des wcf
PPT
Fondamentaux d'architecture d'une application Flex
PPT
Fondamentaux d'architecture d'une application Flex
PPTX
ASP.NET from Zero to Hero
PDF
Services web rest_support_cours_nfaoui_el_habib
PPTX
03 - [ASP.NET Core] Services RESTful et SPA
PPT
Ch5. APIs HTML5.pptjsytigfgfvnb gfvbghbvghbv
PDF
Asp.net Tutorials de L'application "Organizer"
Api - mix it 2013
Comprendre, utiliser et créer une API
Investir sur son API web (in French)
API Hypermedia - Devoxx 2015
Web dev open door
Soirée 3T Soat - Asp.net MVC
API-First pour de nouvelles expériences de commerce en ligne
Web APIs in Action (in French)
Créer une application web en asp.net mvc 2
Tutoriel ajax jquery
Presentation article rest : How-to
Démystifions l'API-culture!
Sécurisation des wcf
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
ASP.NET from Zero to Hero
Services web rest_support_cours_nfaoui_el_habib
03 - [ASP.NET Core] Services RESTful et SPA
Ch5. APIs HTML5.pptjsytigfgfvnb gfvbghbvghbv
Asp.net Tutorials de L'application "Organizer"
Publicité

Plus de Novencia Groupe (20)

PDF
Datalake de l'idée à la plateforme
PDF
Ambient intelligence & bigdata
PDF
Workshop Fonctionnel - Mecanisme surveillance unique
PDF
Workshop Fonctionnel - TITRISATION : LE RETOUR
PDF
L’approche Big Data en finance de marché 2/2
PDF
L’approche Big Data en finance de marché 1/2
PPT
Les Acronymes financiers de 2014
PDF
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
PDF
Qualité de code, sonar, la dette
PDF
PDF
Euro II : Nouvelle donne 2012
PDF
Les systèmes de compensation
PDF
Présentation des marché de capitaux
PDF
La crise de l'euro
PDF
Introduction à la finance de marché
PDF
Déployer une application directement depuis visual studio 2010
PDF
Mécanisme de planification de tâches
PDF
Création d’un service wcf
PDF
Configurer ldaps sur un dc (avec une
PDF
Linq to Xml
Datalake de l'idée à la plateforme
Ambient intelligence & bigdata
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - TITRISATION : LE RETOUR
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 1/2
Les Acronymes financiers de 2014
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
Qualité de code, sonar, la dette
Euro II : Nouvelle donne 2012
Les systèmes de compensation
Présentation des marché de capitaux
La crise de l'euro
Introduction à la finance de marché
Déployer une application directement depuis visual studio 2010
Mécanisme de planification de tâches
Création d’un service wcf
Configurer ldaps sur un dc (avec une
Linq to Xml
Publicité

Utilisation d'une api web avec asp

  • 1. Utilisation d'une API Web avec ASP.NET MVC 3 Auteur: Jean-Michel ORMES
  • 2. Utilisation d'une API Web avec ASP.NET MVC 3 Nous allons voir quelles sont les étapes à suivre pour utiliser une API Web WCF au sein d'une application MVC. Tout d'abord, créons un projet de type Application Web ASP.NET MVC3 que l'on va appeler ArtistManager. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 2
  • 3. Utilisation d'une API Web avec ASP.NET MVC 3 On sélectionne le modèle vide et on conserve le moteur de vue Razor. Une fois le projet créé, on effectue un clic-droit → Propriétés → Web. Dans la partie Serveurs, on indique un port spécifique (Exemple : 1402). 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 3
  • 4. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) La prochaine étape consiste à installer un paquet de création d'API Web par l'intermédiaire de NuGet. NB : Si vous n'avez toujours pas installé NuGet sur votre machine, je vous suggère de lire ce tutoriel d'Hinault Romaric DONFACK qui détaille toutes les informations relatives à ce sujet. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 4
  • 5. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Pour cela, nous allons cliquer sur Outils → Library Package Manager → Add Library Package Reference, rechercher le paquet WebApi.All, et l'installer. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5
  • 6. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Une fois l'installation effectuée, vous pouvez remarquer que des références ont été ajoutées à votre projet. Nous sommes désormais prêt à construire notre API Web. Dans un premier temps, nous allons créer un dossier API qui contiendra nos classes API. Au sein de ce dossier, nous allons ajouter une nouvelle classe API que l'on va appelée ArtistApi. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6
  • 7. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) A ce stade, vous devriez avoir ce code dans votre classe : On va la modifier en y ajoutant l'attribut ServiceContract afin d'indiquer à l'API Web que cette classe peut être exposée en tant que service. Cet attribut nécessite l'espace de noms System.ServiceModel. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 7
  • 8. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Maintenant, nous allons enregistrer dans le fichier Global.asax.cs. Ajoutez les espaces de noms suivants : Dans la méthode RegisterRoutes, il va falloir ajouter le bout de code suivant afin d'enregistrer une route pour notre nouvel API Web : routes.Add(new ServiceRoute("api/artists", new HttpServiceHostFactory(), typeof(ArtistApi))); Vous devriez avoir : 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 8
  • 9. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) La classe ServiceRoute permet de créer un itinéraire de service sur HTTP pour la prise en charge de scénarios REST. Elle prend 3 paramètres : un préfix d'itinéraire, une instance de classe HttpServiceHostFactory et un type de service. Nous allons implémenter une classe POCO Artiste qui contiendra les informations qui seront passés via l'API. Il s'agit essentiellement d'un DTO (Data Transfer Object) mais en HTTP on considère que cette entité est représentée par une « Ressource ». Nous créerons également une méthode qui exposera notre ressource. Cela permettra à de multiples clients d'accéder à la ressource. Comme fait précédemment, on va créer un dossier Ressources qui contiendra l'ensemble de nos ressources et y ajouter une classe Artist contenant le code suivant : 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 9
  • 10. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Dans la classe ArtistApi, il va falloir ajouter les espaces de noms suivants : Ainsi que la méthode Get suivante permettant de rapatrier les artistes : Ici, l'attribut WebGet indique à l'API Web que cette méthode doit être exposée en tant que requête HTTP GET. On prend soin de passer une chaîne vide à l'UriTemplate. En effet, nous avons déjà définit la route de notre URL dans le Global.asax. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 10
  • 11. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) D'ailleurs, vous pouvez vérifier que tout fonctionne et que votre liste d'artistes vous est renvoyée en vous rendant à l'URL suivante : http://localhost:1402/api/artists Afin de tester leurs fonctionnalités, les Web API contiennent un module de test côté client que l'on peut configurer en créant une instance de HttpConfiguration dans la méthode RegisterRoutes : 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 11
  • 12. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Il faudra ensuite passer cette instance au HttpServiceHostFactory de la route du Web API que nous avions créé précédemment. routes.Add(new ServiceRoute("api/artists", new HttpServiceHostFactory() { Configuration = config }, typeof(ArtistApi))); On relance le projet, puis on se rend à l'URL suivante : http://localhost:1402/api/artists/test Ce qui nous amène sur la page de test. 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 12
  • 13. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) Lorsque l'on clique sur notre ressource, cela a pour effet de remplir les champs Request et HTTP/1.1 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 13
  • 14. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) On clique sur le bouton Send pour afficher la réponse de la requête GET : 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 14
  • 15. Utilisation d'une API Web avec ASP.NET MVC 3 (suite) On peut également récupérer la liste des Artistes au format JSON en passant la valeur « application/json » au paramètre Accept du champ Header : 21/02/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 15