SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
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

Similaire à Utilisation d'une api web avec asp

Création d’un service wcf
Création d’un service wcfCréation d’un service wcf
Création d’un service wcfNovencia Groupe
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Novencia Groupe
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open doorLeTesteur
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdfHeartKing10
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010CERTyou Formation
 
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdflaravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdfHeartKing10
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?OVHcloud
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhindguendouz2000
 
Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0CERTyou Formation
 

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

Création d’un service wcf
Création d’un service wcfCréation d’un service wcf
Création d’un service wcf
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010
 
Tutoriel ajax jquery
Tutoriel ajax jqueryTutoriel ajax jquery
Tutoriel ajax jquery
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
cours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdfcours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdf
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
laravel.sillo.org-Cours Laravel 10  les bases  la validation.pdflaravel.sillo.org-Cours Laravel 10  les bases  la validation.pdf
laravel.sillo.org-Cours Laravel 10 les bases la validation.pdf
 
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
M10557 formation-introduction-au-developpement-web-avec-visual-studio-2010
 
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdflaravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Atelier gwt
Atelier gwtAtelier gwt
Atelier gwt
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
ASP_NET_complet.pdf
ASP_NET_complet.pdfASP_NET_complet.pdf
ASP_NET_complet.pdf
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 
Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0Aspn2 formation-asp-net-et-web-2-0
Aspn2 formation-asp-net-et-web-2-0
 

Plus de Novencia Groupe

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateformeNovencia Groupe
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdataNovencia Groupe
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueNovencia Groupe
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURNovencia Groupe
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2Novencia Groupe
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2Novencia Groupe
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Novencia Groupe
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...Novencia Groupe
 
Qualité de code, sonar, la dette
Qualité de code, sonar, la detteQualité de code, sonar, la dette
Qualité de code, sonar, la detteNovencia Groupe
 
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Novencia Groupe
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensationNovencia Groupe
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitauxNovencia Groupe
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marchéNovencia Groupe
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâchesNovencia Groupe
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneNovencia Groupe
 
Débugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclientDébugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclientNovencia Groupe
 

Plus de Novencia Groupe (20)

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateforme
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdata
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance unique
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOUR
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
 
Qualité de code, sonar, la dette
Qualité de code, sonar, la detteQualité de code, sonar, la dette
Qualité de code, sonar, la dette
 
Sonar
Sonar Sonar
Sonar
 
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensation
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
 
La crise de l'euro
La crise de l'euroLa crise de l'euro
La crise de l'euro
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
 
Mécanisme de planification de tâches
Mécanisme de planification de tâchesMécanisme de planification de tâches
Mécanisme de planification de tâches
 
Configurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec uneConfigurer ldaps sur un dc (avec une
Configurer ldaps sur un dc (avec une
 
Linq to Xml
Linq to Xml Linq to Xml
Linq to Xml
 
Débugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclientDébugger un service wcf avec wcf testclient
Débugger un service wcf avec wcf testclient
 
Quelle juste valeur
Quelle juste valeurQuelle juste valeur
Quelle juste valeur
 

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