Tutoriel sur les services Web RESTful avec exemple d'API REST

Table des matières:

Anonim

Qu'est-ce que Restful Web Services?

Restful Web Services est un service léger, maintenable et évolutif basé sur l'architecture REST. Restful Web Service, exposez l'API de votre application de manière sécurisée, uniforme et sans état au client appelant. Le client appelant peut effectuer des opérations prédéfinies à l'aide du service Restful. Le protocole sous-jacent pour REST est HTTP. REST signifie REpresentational State Transfer.

Dans ce didacticiel sur l'API REST, vous apprendrez-

  • Éléments clés RESTful
  • Méthodes reposantes
  • Pourquoi reposé
  • Architecture reposante
  • Principes et contraintes RestFul
  • Créez votre premier service Web Restful dans ASP.NET
  • Exécution de votre premier service Web Restful
  • Tester votre premier service Web Restful

Éléments clés RESTful

Les services Web REST ont vraiment parcouru un long chemin depuis leur création. En 2002, le consortium Web avait publié la définition des services Web WSDL et SOAP. Cela constituait la norme de mise en œuvre des services Web.

En 2004, le consortium Web a également publié la définition d'une norme supplémentaire appelée RESTful. Au cours des deux dernières années, cette norme est devenue très populaire. Et est utilisé par de nombreux sites Web populaires dans le monde, notamment Facebook et Twitter.

REST est un moyen d'accéder aux ressources qui se trouvent dans un environnement particulier. Par exemple, vous pourriez avoir un serveur qui pourrait héberger des documents importants, des images ou des vidéos. Tous ces éléments sont un exemple de ressources. Si un client, par exemple un navigateur Web, a besoin de l'une de ces ressources, il doit envoyer une demande au serveur pour accéder à ces ressources. Désormais, les services REST définissent un moyen d'accéder à ces ressources.

Les éléments clés d'une implémentation RESTful sont les suivants:

  1. Ressources - Le premier élément clé est la ressource elle-même. Supposons qu'une application Web sur un serveur possède des enregistrements de plusieurs employés. Supposons que l'URL de l'application Web soit http://demo.guru99.com . Maintenant, pour accéder à une ressource d'enregistrement d'employé via les services REST, on peut émettre la commande http://demo.guru99.com/employee/1 - Cette commande indique au serveur Web de fournir les détails de l'employé dont le numéro d'employé est 1.

  2. Demander des verbes - Ils décrivent ce que vous voulez faire avec la ressource. Un navigateur émet un verbe GET pour indiquer au point de terminaison qu'il souhaite obtenir des données. Cependant, il existe de nombreux autres verbes disponibles, notamment des éléments tels que POST, PUT et DELETE. Ainsi, dans le cas de l'exemple http://demo.guru99.com/employee/1 , le navigateur Web émet en fait un verbe GET car il souhaite obtenir les détails de l'enregistrement de l'employé.

  3. En-têtes de demande - Ce sont des instructions supplémentaires envoyées avec la demande. Ceux-ci peuvent définir le type de réponse requis ou les détails de l'autorisation.

  4. Corps de la demande - Les données sont envoyées avec la demande. Les données sont normalement envoyées dans la requête lorsqu'une requête POST est adressée aux services Web REST. Lors d'un appel POST, le client indique en fait aux services Web REST qu'il souhaite ajouter une ressource au serveur. Par conséquent, le corps de la demande aurait les détails de la ressource qui doit être ajoutée au serveur.

  5. Corps de la réponse - Il s'agit du corps principal de la réponse. Ainsi, dans notre exemple d'API RESTful, si nous devions interroger le serveur Web via la requête http://demo.guru99.com/employee/1 , le serveur Web pourrait renvoyer un document XML avec tous les détails de l'employé dans la réponse Corps.

  6. Codes d'état de réponse - Ces codes sont les codes généraux qui sont renvoyés avec la réponse du serveur Web. Un exemple est le code 200 qui est normalement renvoyé s'il n'y a pas d'erreur lors du renvoi d'une réponse au client.

Méthodes reposantes

Le diagramme ci-dessous montre principalement tous les verbes (POST, GET, PUT et DELETE) et un exemple d'API REST de ce qu'ils signifieraient.

Supposons que nous ayons un service Web RESTful défini à l'emplacement. http://demo.guru99.com/employee . Lorsque le client fait une demande à ce service Web, il peut spécifier l'un des verbes HTTP normaux de GET, POST, DELETE et PUT. Voici ce qui se passerait si les verbes respectifs étaient envoyés par le client.

  1. POST - Cela serait utilisé pour créer un nouvel employé à l'aide du service Web RESTful
  2. GET - Ceci serait utilisé pour obtenir une liste de tous les employés utilisant le service Web RESTful
  3. PUT - Ceci serait utilisé pour mettre à jour tous les employés utilisant le service Web RESTful
  4. SUPPRIMER - Ceci serait utilisé pour supprimer tous les employés utilisant les services RESTful

Jetons un coup d'œil dans la perspective d'un seul enregistrement. Disons qu'il y avait un enregistrement d'employé avec le numéro d'employé de 1.

Les actions suivantes auraient leurs significations respectives.

  1. POST - Cela ne serait pas applicable car nous récupérons les données de l'employé 1 qui sont déjà créées.
  2. GET - Ceci serait utilisé pour obtenir les détails de l'employé avec l'employé n ° 1 en utilisant le service Web RESTful
  3. PUT - Cela serait utilisé pour mettre à jour les détails de l'employé avec l'employé n ° 1 en utilisant le service Web RESTful
  4. SUPPRIMER - Ceci est utilisé pour supprimer les détails de l'employé avec le numéro d'employé comme 1

Pourquoi reposé

Le repos est principalement devenu populaire pour les raisons suivantes:

  1. Langages et environnements hétérogènes - C'est l'une des raisons fondamentales qui est la même que celle que nous avons vue pour SOAP.
  • Il permet aux applications Web basées sur divers langages de programmation de communiquer entre elles
  • Avec l'aide des services Restful, ces applications Web peuvent résider dans différents environnements, certaines peuvent être sous Windows et d'autres sous Linux.

Mais à la fin, quel que soit l'environnement, le résultat final devrait toujours être le même qu'ils devraient pouvoir se parler. Les services Web reposants offrent cette flexibilité aux applications basées sur divers langages de programmation et plates-formes pour se parler.

L'image ci-dessous donne un exemple d'application Web qui a besoin de parler à d'autres applications telles que Facebook, Twitter et Google.

Désormais, si une application cliente devait fonctionner avec des sites tels que Facebook, Twitter, etc., elle devrait probablement savoir sur quelle langue Facebook, Google et Twitter sont construits, ainsi que sur quelle plate-forme ils sont construits.

Sur cette base, nous pouvons écrire le code d'interfaçage pour notre application Web, mais cela pourrait s'avérer être un cauchemar.

Facebook, Twitter et Google exposent leurs fonctionnalités sous la forme de services Web reposants. Cela permet à toute application cliente d'appeler ces services Web via REST.

  1. L'événement des appareils - De nos jours, tout doit fonctionner sur les appareils mobiles, que ce soit l'appareil mobile, les ordinateurs portables ou même les systèmes de voiture.

    Pouvez-vous imaginer les efforts déployés pour essayer de coder des applications sur ces appareils pour communiquer avec des applications Web normales? Encore une fois, les API Restful peuvent simplifier ce travail car, comme mentionné au point n ° 1, vous n'avez vraiment pas besoin de savoir quelle est la couche sous-jacente de l'appareil.

  2. Enfin, c'est l'événement du Cloud - Tout se déplace vers le Cloud. Les applications évoluent lentement vers des systèmes basés sur le cloud tels que Azure ou Amazon. Azure et Amazon fournissent de nombreuses API basées sur l'architecture Restful. Par conséquent, les applications doivent maintenant être développées de manière à être rendues compatibles avec le Cloud. Ainsi, étant donné que toutes les architectures basées sur le Cloud fonctionnent sur le principe REST, il est plus logique que les services Web soient programmés sur l'architecture basée sur les services REST pour tirer le meilleur parti des services basés sur le Cloud.

Architecture reposante

Une application ou une architecture considérée comme RESTful ou REST a les caractéristiques suivantes

  1. L'état et les fonctionnalités sont divisés en ressources distribuées - Cela signifie que chaque ressource doit être accessible via les commandes HTTP normales de GET, POST, PUT ou DELETE. Donc, si quelqu'un voulait obtenir un fichier d'un serveur, il devrait être en mesure d'émettre la requête GET et d'obtenir le fichier. S'ils souhaitent placer un fichier sur le serveur, ils doivent pouvoir émettre la requête POST ou PUT. Et enfin, s'ils voulaient supprimer un fichier du serveur, ils émettent la requête DELETE.
  2. L'architecture est client / serveur, sans état, en couches et prend en charge la mise en cache -
  • Le client-serveur est l'architecture typique où le serveur peut être le serveur Web hébergeant l'application, et le client peut être aussi simple que le navigateur Web.
  • Stateless signifie que l'état de l'application n'est pas conservé dans REST.

    Par exemple, si vous supprimez une ressource d'un serveur à l'aide de la commande DELETE, vous ne pouvez pas vous attendre à ce que les informations de suppression soient transmises à la demande suivante.

    Afin de vous assurer que la ressource est supprimée, vous devez émettre la demande GET. La demande GET serait utilisée pour obtenir d'abord toutes les ressources sur le serveur. Après quoi, il faudrait voir si la ressource a été effectivement supprimée.

Principes et contraintes RESTFul

L'architecture REST est basée sur quelques caractéristiques qui sont développées ci-dessous. Tout service Web RESTful doit respecter les caractéristiques ci-dessous pour pouvoir être appelé RESTful. Ces caractéristiques sont également appelées principes de conception qui doivent être suivis lors de l'utilisation de services basés sur RESTful.

  1. Client-serveur RESTFul

C'est l'exigence la plus fondamentale d'une architecture basée sur REST. Cela signifie que le serveur disposera d'un service Web RESTful qui fournirait les fonctionnalités requises au client. Le client envoie une requête au service Web sur le serveur. Le serveur rejetterait la demande ou se conformerait et fournirait une réponse adéquate au client.

  1. Apatride

Le concept d'apatride signifie qu'il appartient au client de s'assurer que toutes les informations requises sont fournies au serveur. Cela est nécessaire pour que le serveur puisse traiter la réponse de manière appropriée. Le serveur ne doit conserver aucune sorte d'informations entre les demandes du client. C'est une séquence de questions-réponses indépendante très simple. Le client pose une question, le serveur y répond de manière appropriée. Le client posera une autre question. Le serveur ne se souviendra pas du scénario question-réponse précédent et devra répondre à la nouvelle question de manière indépendante.

  1. Cache

Le concept de cache est d'aider à résoudre le problème de l'état sans état qui a été décrit dans le dernier point. Étant donné que chaque demande de client serveur est de nature indépendante, le client peut parfois demander à nouveau au serveur la même demande. C'est même s'il l'avait déjà demandé dans le passé. Cette demande ira au serveur et le serveur donnera une réponse. Cela augmente le trafic sur le réseau. Le cache est un concept implémenté sur le client pour stocker les requêtes qui ont déjà été envoyées au serveur. Donc, si la même demande est donnée par le client, au lieu d'aller au serveur, il irait dans le cache et obtiendrait les informations requises. Cela économise la quantité de trafic réseau aller et retour du client vers le serveur.

  1. Système en couches

Le concept d'un système en couches est que toute couche supplémentaire telle qu'une couche middleware peut être insérée entre le client et le serveur réel hébergeant le service Web RESTFul (la couche middleware est l'endroit où toute la logique métier est créée. Cela peut être un service supplémentaire créé avec lequel le client pourrait interagir avant de passer un appel au service Web.). Mais l'introduction de cette couche doit être transparente pour ne pas perturber l'interaction entre le client et le serveur.

  1. Contrat d'interface / uniforme

Il s'agit de la technique sous-jacente du fonctionnement des services Web RESTful. RESTful fonctionne essentiellement sur la couche Web HTTP et utilise les verbes clés ci-dessous pour travailler avec les ressources sur le serveur

  • POST - Pour créer une ressource sur le serveur
  • GET - Pour récupérer une ressource du serveur
  • PUT - Pour changer l'état d'une ressource ou pour la mettre à jour
  • SUPPRIMER - Pour supprimer ou supprimer une ressource du serveur

Créez votre premier service Web Restful dans ASP.NET

Maintenant, dans ce didacticiel d'API REST, nous allons apprendre à créer un service Web Restful dans ASP.NET:

Les services Web peuvent être créés dans diverses langues. De nombreux environnements de développement intégrés peuvent être utilisés pour créer des services basés sur REST.

Dans cet exemple d'API RESTful, nous allons créer notre application REST dans .Net à l'aide de Visual Studio. Dans notre exemple, pour les services Web Restful, nous allons émuler l'exemple de service REST suivant.

Nous allons avoir un service Web Restful qui fonctionnera sur l'ensemble de données ci-dessous.

L'ensemble de données ci-dessous représente un exemple d'API REST d'une entreprise qui expose les didacticiels qu'elle a basés sur l'ID de didacticiel.

Tutorialid TutorialName
0 Tableaux
1 Files d'attente
2 Piles

Dans notre exemple de didacticiel sur l'API REST, nous allons implémenter les verbes reposants ci-dessous.

  1. GET Tutorial - Lorsqu'un client appelle cette API Restful, il recevra l'ensemble des tutoriels disponibles sur le service Web.
  2. GET Tutorial / Tutorialid - Lorsqu'un client appelle cette API Restful, il recevra le nom du Tutorial basé sur le Tutorialid envoyé par le client.
  3. Tutorial POST / Tutorialname - Lorsqu'un client appelle cette API Restful, le client soumettra une demande d'insertion d'un Tutorialname. Le service Web ajoutera ensuite le nom du didacticiel soumis à la collection.
  4. SUPPRIMER Tutorial / Tutorialid - Lorsqu'un client appelle cette API Restful, le client soumettra une demande de suppression d'un Tutorialname basé sur Tutorialid. Le service Web supprimera alors le nom du didacticiel soumis de la collection.

Suivons les étapes ci-dessous dans ce didacticiel de l'API RESTful pour créer nos premiers services Web RESTful, qui effectuent l'implémentation ci-dessus.

Étape 1) La première étape consiste à créer une application Web Asp.Net vide. À partir de Visual Studio 2013, cliquez sur l'option de menu Fichier-> Nouveau projet.

Une fois que vous avez cliqué sur l'option Nouveau projet, Visual Studio vous donnera alors une autre boîte de dialogue pour choisir le type de projet et pour donner les détails nécessaires du projet. Ceci est expliqué dans la prochaine étape de ce tutoriel sur l'API RESTful

Étape 2) Dans cette étape,

  1. Assurez-vous de choisir d'abord le modèle Web C # des services Web RESTful de l'application Web ASP.NET. Le projet doit être de ce type pour créer un projet de services Web. En choisissant ces options, Visual Studio effectuera ensuite les étapes nécessaires pour ajouter les fichiers requis requis par toute application Web.
  2. Donnez un nom à votre projet qui dans notre cas a été donné comme "Webservice.REST".
  3. Ensuite, assurez-vous de donner un emplacement, où les fichiers du projet seront stockés.

Une fois terminé, vous verrez le fichier de projet créé dans votre explorateur de solutions dans Visual Studio 2013.

Étape 3) L'étape suivante consiste à créer le fichier de service Web qui va avoir le service Web RESTful

  1. Cliquez d'abord avec le bouton droit sur le fichier de projet comme indiqué ci-dessous
  1. Dans cette étape,
    1. Faites un clic droit sur le fichier du projet
    2. Choisissez l'option "Ajouter-> nouvel élément".

Dans la boîte de dialogue qui apparaît, vous devez effectuer les opérations suivantes

  1. Choisissez l'option de service WCF (compatible Ajax) - Choisissez un fichier de ce type, cela oblige le studio visuel à ajouter du code de base qui aide à créer un service Web RESTful. WCF signifie Windows Communication Foundation. WCF est une bibliothèque pour les applications de différentes plates-formes ou de la même plate-forme pour communiquer sur les différents protocoles tels que TCP, HTTP, HTTPS. Ajax est essentiellement du JavaScript et du XML asynchrones. AJAX permet aux pages Web d'être mises à jour de manière asynchrone en échangeant de petites quantités de données avec le serveur dans les coulisses.
  2. Ensuite, donnez un nom au service qui est TutorialService dans notre cas.
  3. Enfin, cliquez sur le bouton Ajouter pour ajouter le service à la solution.

Étape 4) L'étape suivante consiste à effectuer une modification de configuration pour permettre à ce projet de terminer son travail avec les services Web RESTful. Cela nécessite d'apporter une modification au fichier appelé Web.config . Ce fichier apparaît dans la même fenêtre que le fichier de projet Webservice. Le fichier Web.config contient toutes les configurations permettant à l'application Web de fonctionner correctement. La modification apportée permet en fait à l'application d'envoyer et de recevoir des données en tant que service Web RESTful pur.

  1. Cliquez sur le fichier Web.config pour ouvrir le code
  1. Recherchez la ligne
  1. Changez la ligne en

Étape 5) La prochaine étape de ce didacticiel sur l'API RESTful consiste à ajouter notre code pour l'implémentation. Tout le code mentionné ci-dessous doit être écrit dans le fichier TutorialService.svc

  1. Le premier bit est d'ajouter du code pour représenter nos données qui seront utilisées dans notre programme. Nous allons donc avoir une liste de variables de chaîne avec des valeurs de "Arrays", "Queues" et "Stacks". Cela représentera le nom des didacticiels disponibles via notre service Web d'hébergement.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static List  lst = new List  (new String[] {"Arrays","Queues","Stacks"});  

Étape 6) Ensuite, nous définirons le code de notre méthode GET. Ce code résidera également dans le même fichier TutorialService.svc. Ce code s'exécutera chaque fois que nous appelons le service à partir de notre navigateur.

La méthode ci-dessous sera utilisée pour remplir le scénario ci-dessous

  • Si un utilisateur veut une liste de tous les didacticiels disponibles, le code ci-dessous devra être écrit pour ce faire.
[WebGet(UriTemplate="/Tutorial")]public String GetAllTutorial(){int count = 1st.Count;String TutorialList = "";for (int i = 0; i < count; i++)TutorialList = TutorialList + lst[i] + ",";return TutorialList;}

Explication du code: -

  1. La première ligne de code est la plus importante. Il est utilisé pour définir comment nous pouvons appeler cette méthode via une URL. Donc, si le lien vers notre service Web est http: // localhost: 52645 / TutorialService.svc et si nous ajoutons le '/ Tutorial' à l'URL comme http: // localhost: 52645 / TutorialService.svc / Tutorial , le code ci-dessus sera invoquée. L'attribut de 'WebGet' est un paramètre qui permet à cette méthode d'être une méthode RESTful afin qu'elle puisse être invoquée via le verbe GET.
  2. Cette section de code est utilisée pour parcourir notre liste de chaînes dans la variable «lst» et les renvoyer toutes au programme appelant.

Étape 7) Le code ci-dessous garantit que si un appel GET est effectué vers le service de didacticiel avec un identifiant de didacticiel, il renverra le nom du didacticiel correspondant en fonction de l'id du didacticiel.

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}

Explication du code: -

  1. La première ligne de code est la plus importante. Il est utilisé pour définir comment nous pouvons appeler cette méthode via une URL. Donc, si le lien vers notre service Web est http: // localhost: 52645 / TutorialService.svc et si nous ajoutons le '/ Tutorial / {Tutorialid}' à l'URL, nous pourrions appeler le service Web en tant que http: //localhost:52645/TutorialService.svc/Tutorial/1 à titre d'exemple. Le service Web aurait alors besoin de renvoyer le nom du didacticiel qui avait l'ID de didacticiel # 1.
  2. Cette section de code est utilisée pour renvoyer le "Nom du didacticiel" dont l'ID du didacticiel est passé à la méthode Web.
  • Par défaut, il faut se rappeler que tout ce qui est passé à l'URL dans le navigateur est une chaîne.
  • Mais vous devez vous rappeler que l'index de notre liste doit être un entier, nous ajoutons donc le code nécessaire pour d'abord convertir le Tutorialid en un entier, puis l'utiliser pour accéder à la position d'index dans notre liste et
  • Ensuite, renvoyez la valeur au programme appelant en conséquence.

Étape 8) La prochaine étape consiste à rédiger le code de notre méthode POST. Cette méthode sera invoquée chaque fois que nous souhaitons ajouter une valeur de chaîne à notre liste de tutoriels via la méthode POST. Par exemple, si vous souhaitez ajouter le nom du didacticiel «Test logiciel», vous devez utiliser la méthode POST.

Explication du code: -

  1. La première ligne est l'attribut 'WebInvoke' qui a été attaché à notre méthode. Cela permet à la méthode d'être appelée via l'appel POST. Les attributs RequestFormat et ResponseFormat doivent être mentionnés en tant que JSON, car lors de la publication de valeurs sur un service Web RESTFul, les valeurs doivent être dans ce format.
  2. La deuxième ligne de code est utilisée pour ajouter la valeur de chaîne transmise via l'appel POST à ​​notre liste existante de chaînes Tutorial.

Étape 9) Enfin, nous allons ajouter notre méthode pour gérer l'opération DELETE. Cette méthode sera appelée chaque fois que nous souhaitons supprimer une valeur de chaîne existante de notre liste de didacticiels via la méthode DELETE.

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped)]public void DeleteTutorial(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);1st.RemoveAt(pid);}

Explication du code: -

  1. La première ligne est l'attribut 'WebInvoke' qui a été attaché à notre méthode. Cela permet à la méthode d'être appelée via l'appel POST. Les attributs RequestFormat et ResponseFormat doivent être mentionnés en tant que JSON, car lors de la publication de valeurs sur un service Web RESTFul, les valeurs doivent être dans ce format. Notez que le paramètre Method est défini sur "DELETE". Cela signifie que chaque fois que nous émettons le verbe DELETE, cette méthode sera appelée.
  2. La deuxième ligne de code est utilisée pour prendre le Tutorialid envoyé via l'appel DELETE et ensuite supprimer cet identifiant de notre liste. (La fonction Int32 dans le code est utilisée pour convertir l'ID du didacticiel d'une variable de chaîne en un entier).

Exécution de votre premier service Web Restful

Maintenant que nous avons créé l'ensemble de notre service Web dans la section ci-dessus. Voyons comment nous pouvons exécuter le service Tutorial afin qu'il puisse être appelé depuis n'importe quel client.

Pour exécuter le service Web, veuillez suivre les étapes ci-dessous

Étape 1) Faites un clic droit sur le fichier de projet - Webservice.REST

Étape 2) Choisissez l'option de menu «Définir comme projet de démarrage». Cela garantira que ce projet est exécuté lorsque Visual Studio exécute la solution entière

Étape 3) L'étape suivante consiste à exécuter le projet lui-même. Maintenant, en fonction du navigateur par défaut installé sur le système, le nom du navigateur approprié viendra à côté du bouton d'exécution dans Visual Studio. Dans notre cas, Google Chrome apparaît. Cliquez simplement sur ce bouton.

Production:-

Lorsque le projet est exécuté, vous pouvez accéder à votre section TutorialService.svc / Tutorial, et vous obtiendrez la sortie ci-dessous.

Dans la sortie ci-dessus,

  • Vous pouvez voir que le navigateur appelle le verbe «GET» et exécute la méthode «GetAllTutorial» dans le service Web. Ce module permet d'afficher tous les tutoriels exposés par notre service web.

Tester votre premier service Web Restful

Dans la section ci-dessus, nous avons déjà vu comment utiliser le navigateur pour exécuter le verbe «GET» et appeler le «GetAllTutorial».

  1. Utilisons maintenant le navigateur pour exécuter le scénario de cas d'utilisation suivant.

GET Tutorial / Tutorialid - Lorsqu'un client appelle cette API Restful, il recevra le nom du tutoriel en fonction de l'ID de tutoriel envoyé par le client

Dans votre navigateur, ajoutez la chaîne / 1 après le mot Tutoriel dans l'URL. Si vous appuyez sur le bouton Entrée, vous obtiendrez la sortie ci-dessous

Vous verrez maintenant la sortie des files d'attente qui correspond en fait au numéro 1 dans notre liste de chaînes de didacticiel. Cela signifie que la méthode 'GetTutorialbyID' est maintenant appelée depuis notre Webservice. Il montre également que la valeur de 1 est transmise avec succès via le navigateur à notre service Web et à notre méthode et c'est pourquoi nous obtenons la valeur correspondante correcte de "Queues" dans le navigateur.

  1. Ensuite, consommons notre service Web en exécutant le scénario ci-dessous. Pour cela, vous devez installer l'outil appelé "Fiddler" qui est un outil téléchargeable gratuitement depuis le site.

Tutorial POST / Tutorialname - Lorsqu'un client appelle cette API Restful, le client soumettra une demande d'insertion d'un Tutorialname. Le service Web ajoutera ensuite le nom du didacticiel soumis à la collection.

Exécutez l'outil Filddler et effectuez les étapes ci-dessous;

  1. Accédez à la section compositeur. Ceci est utilisé pour créer des demandes qui peuvent être soumises à n'importe quel site Web

    application.

  2. Assurez-vous que le type de requête est "POST" et que l'URL correcte est atteinte, ce qui dans notre cas devrait être http: // localhost: 52645 / TutorialService.svc / Tutorial
  3. Assurez-vous que Content-Type est marqué comme application / json. N'oubliez pas que notre méthode de requête POST dans notre service Web n'accepte que les données de style json, nous devons donc nous assurer que cela est spécifié lorsque nous envoyons une requête à notre application.
  4. Enfin, nous devons saisir nos données. N'oubliez pas que notre méthode pour POST accepte un paramètre appelé «str». Donc, ici, nous spécifions que nous voulons ajouter une valeur appelée "Trees" à notre collection de noms de didacticiel et nous assurer qu'elle est étiquetée avec le nom de la variable str.

Enfin, cliquez simplement sur le bouton Exécuter dans Fiddler. Cela enverra une demande au service Web pour POST les données "Arbres" à notre service Web.

Maintenant, lorsque nous naviguons vers l'URL du didacticiel pour afficher toutes les chaînes de notre liste de didacticiels, vous verrez maintenant que la valeur «Arbres» est également présente. Cela montre que la demande POST au service Web a été exécutée avec succès et qu'elle a été ajoutée avec succès à notre liste de didacticiels.

  1. Ensuite, consommons notre service Web en exécutant le scénario ci-dessous. Pour cela également, nous devons utiliser l'outil Fiddler

SUPPRIMER Tutorial / Tutorialid - Lorsqu'un client appelle cette API Restful, le client soumettra une demande de suppression d'un Tutorialname basé sur Tutorialid. Le service Web supprimera alors le nom du didacticiel soumis de la collection.

Exécutez l'outil Filddler et effectuez les étapes ci-dessous

  1. Accédez à la section compositeur. Ceci est utilisé pour créer des demandes qui peuvent être soumises à n'importe quel site Web

    application.

  2. Assurez-vous que le type de requête est "DELETE" et que l'URL correcte est atteinte, ce qui dans notre cas devrait être http: // localhost: 52645 / TutorialService.svc / Tutorial . Assurez-vous que l'identifiant utilisé pour supprimer une chaîne de la liste envoyée via l'URL en tant que paramètre. Dans notre exemple REST, nous envoyons 1 donc cela supprimera le 2 ème élément de notre collection qui est "Queues".

Enfin, cliquez simplement sur le bouton Exécuter dans Fiddler. Cela enverra une demande au service Web pour SUPPRIMER les données "Files d'attente" à notre service Web.

Maintenant, lorsque nous naviguons vers l'URL du didacticiel pour afficher toutes les chaînes de notre liste de didacticiels, vous remarquerez que la valeur de "Queues" n'est plus présente.

Cela montre que la demande DELETE adressée au service Web a été exécutée avec succès. L'élément à l'index n ° 1 de notre liste de chaînes du didacticiel a été supprimé avec succès.

Résumé

  • REST signifie REpresentational State Transfer. REST est utilisé pour créer des services Web légers, maintenables et évolutifs par nature.
  • De plus en plus d'applications passent à l'architecture Restful. En effet, de nombreuses personnes utilisent désormais des appareils mobiles et une plus grande variété d'applications migrant vers le cloud.
  • Les principaux aspects de REST sont les ressources qui résident sur le serveur et les verbes GET, POST, PUT et DELETE, qui peuvent être utilisés pour travailler avec ces ressources.
  • Visual Studio et.Net peuvent être utilisés pour créer des services Web reposants.
  • Lors du test des services Web pour POST et PUT, vous devez utiliser un autre outil appelé fiddler qui peut être utilisé pour envoyer les requêtes POST et PUT au serveur.