Tutoriel sur les services Web RESTful : Qu'est-ce que l'API REST avec exemple

Qu'est-ce que les services Web reposants ?

Services Web reposants 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 de REST est HTTP. REST signifie REpresentational State Transfer.

É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 constitue la norme de mise en œuvre des services Web.

En 2004, le consortium Web a également publié la définition d'un standard supplémentaire appelé RESTful. Au cours des dernières années, cette norme est devenue très populaire. Et il est utilisé par de nombreux sites Web populaires à travers 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, des images ou des vidéos importants. Tout cela est un exemple de ressources. Si un client, par exemple un navigateur Web, a besoin de l'une de ces ressources, il doit envoyer une requête 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 les enregistrements de plusieurs employés. Supposons que l'URL de l'application Web soit https://demo.guru99.com. Désormais, pour accéder à une ressource d'enregistrement d'employé via les services REST, on peut émettre la commande https://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 – Ceux-ci décrivent ce que vous souhaitez 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 POST, PUT et DELETE. Donc dans le cas de l'exemple https://demo.guru99.com/employee/1 , le navigateur Web émet en fait un verbe GET car il souhaite obtenir les détails du dossier de l'employé.
  3. En-têtes de demande – Il s’agit d’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 contiendrait les détails de la ressource qui doit être ajoutée au serveur.
  5. Corps de réponse – C’est l’essentiel de la réponse. Ainsi, dans notre exemple d'API RESTful, si nous devions interroger le serveur Web via la requête https://demo.guru99.com/employee/1 , le serveur Web peut renvoyer un document XML avec tous les détails de l'employé dans le corps de réponse.
  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 qu'un service Web RESTful soit défini à l'emplacement. https://demo.guru99.com/employee . Lorsque le client fait une requête à ce service Web, il peut spécifier n'importe lequel des verbes HTTP normaux GET, POST, DELETE et PUT. Vous trouverez ci-dessous ce qui se passerait si les verbes respectifs étaient envoyés par le client.

  1. POSTEZ – Ceci serait utilisé pour créer un nouvel employé en utilisant le service Web RESTful
  2. ÉCONOMISEZ – 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. EFFACER – Ceci serait utilisé pour supprimer tous les employés utilisant les services RESTful

Jetons un coup d'œil du point de vue d'un seul enregistrement. Supposons qu'il existe un enregistrement d'employé portant le numéro d'employé 1.

Les actions suivantes auraient leurs significations respectives.

  1. POSTEZ – Cela ne serait pas applicable puisque nous récupérons les données de l’employé 1 qui sont déjà créées.
  2. ÉCONOMISEZ – Cela serait utilisé pour obtenir les détails de l'employé avec le numéro d'employé 1 à l'aide du service Web RESTful
  3. PUT – Cela serait utilisé pour mettre à jour les détails de l'employé avec le numéro d'employé 1 à l'aide du service Web RESTful
  4. EFFACER – Ceci est utilisé pour supprimer les détails de l'employé avec le numéro d'employé 1

Méthodes reposantes

Pourquoi reposant

Restful est devenu populaire principalement pour les raisons suivantes :

1. Langues et environnements hétérogènes – C’est une des raisons fondamentales qui est la même que celle que nous avons vue pour SOAP également.

  • Il permet aux applications Web basées sur différents langages de programmation de communiquer entre elles.
  • Avec l'aide des services Restful, ces applications Web peuvent résider sur différents environnements, certaines pourraient être sur Windows, et d'autres pourraient être sous Linux.

Mais en fin de compte, quel que soit l’environnement, le résultat final devrait toujours être le même : ils devraient pouvoir se parler. Les services Web reposants offrent cette flexibilité aux applications construites sur différents langages de programmation et plates-formes pour communiquer entre elles.

L'image ci-dessous donne un exemple d'application Web qui doit communiquer avec d'autres applications telles que Facebook, Twitter et Google.

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

Sur cette base, nous pouvons écrire le code d’interface de 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 Restful. Cela permet à n'importe quelle application client d'appeler ces services Web via REST.

Besoin de repos

2. L'événement des Appareils – Aujourd’hui, tout est à refaire Mobile appareils, qu'il s'agisse de l'appareil mobile, des ordinateurs portables ou même des systèmes de voiture.

Pouvez-vous imaginer la quantité d'efforts nécessaires 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 numéro 1, vous n'avez vraiment pas besoin de savoir quelle est la couche sous-jacente de l'appareil.

3. C'est enfin l'événement du Cloud – Tout migre vers le cloud. Les applications migrent lentement vers des systèmes basés sur le cloud, comme dans Azure or Amazon. Azure ou Amazon fournir de nombreuses API basées sur l’architecture Restful. Il faut donc désormais développer les applications de manière à les rendre 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 afin de tirer le meilleur parti des services basés sur le Cloud.

Reposant Architecture

Une application ou une architecture considérée comme RESTful ou de style REST présente 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. Ainsi, si quelqu'un souhaite obtenir un fichier d'un serveur, il devrait pouvoir émettre la requête GET et obtenir le fichier. S'ils souhaitent placer un fichier sur le serveur, ils devraient pouvoir émettre la requête POST ou PUT. Et enfin, s’ils souhaitent supprimer un fichier du serveur, ils peuvent émettre la requête DELETE.

2. L'architecture est client/serveur, sans état, en couches et prend en charge la mise en cache

  • Client-serveur est l'architecture typique dans laquelle le serveur peut être le serveur Web hébergeant l'application, et le client peut être aussi simple qu'un navigateur Web.
  • Apatride 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 ces informations de suppression soient transmises à la requête suivante.

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

Principes et contraintes RESTFul

L'architecture REST repose sur quelques caractéristiques qui sont détaillées ci-dessous. Tout service Web RESTful doit être conforme aux caractéristiques ci-dessous pour pouvoir être appelé RESTful. Ces caractéristiques sont également connues sous le nom de principes de conception qui doivent être suivis lorsque vous travaillez avec des services basés sur RESTful.

  1. Client-Serveur RESTFul

    Principes et contraintes RESTFul

Il s’agit de l’exigence la plus fondamentale d’une architecture basée sur REST. Cela signifie que le serveur disposera d'un service Web RESTful qui fournira 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. Ceci 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 requêtes du client. Il s'agit d'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

Principes et contraintes RESTFul

Le concept de Cache est d'aider à résoudre le problème des apatrides décrit dans le dernier point. Étant donné que chaque demande du client du serveur est indépendante par nature, le client peut parfois demander à nouveau au serveur la même demande. Et ce, même s’il l’avait déjà demandé par le passé. Cette demande sera envoyée 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. Ainsi, si la même requête est donnée par le client, au lieu d'aller vers le serveur, elle ira dans le cache et obtiendra les informations requises. Cela permet d'économiser la quantité de trafic réseau aller-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 peut interagir avant d'appeler le service Web.). Mais l’introduction de cette couche doit être transparente afin qu’elle ne perturbe pas l’interaction entre le client et le serveur.

  1. Interface/Contrat Uniforme

Il s'agit de la technique sous-jacente au 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
  • DELETE – Pour supprimer ou supprimer une ressource du serveur

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

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

Les services Web peuvent être créés dans une variété de 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 en .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 son didacticiel basé sur le Tutorialid.

Tutoriel Nom du didacticiel
0 Arrays
1 Queues
2 Combos

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

  1. OBTENIR Tutoriel – Lorsqu'un client invoque cette API Restful, il recevra l'ensemble des didacticiels disponibles sur le service Web.
  2. GET Tutoriel/Tutorialide – Lorsqu'un client invoque cette API Restful, il recevra le nom du didacticiel basé sur le Tutorialid envoyé par le client.
  3. Tutoriel POST/Nom du didacticiel – Lorsqu'un client appelle cette API Restful, le client soumettra une demande pour insérer un nom de didacticiel. Le service Web ajoutera ensuite le nom du didacticiel soumis à la collection.
  4. DELETE Tutoriel/Tutorialid– Lorsqu'un client appelle cette API Restful, le client soumettra une demande de suppression d'un nom de didacticiel basé sur le Tutorialid. Le service Web supprimera ensuite 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.

Comment créer votre premier service Web reposant

Étape 1) Créer un nouveau projet.
La première étape consiste à créer un vide Asp.Net Application Web. Depuis Visual Studio 2013, cliquez sur l'option de menu Fichier->Nouveau projet.

Créer un service Web reposant

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

Étape 2) Entrez le nom et l'emplacement du projet.

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

Créer un service Web reposant

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

Créer un service Web reposant

Étape 3) Créez le fichier du service Web.
L'étape suivante consiste à créer le fichier de service Web qui contiendra le service Web RESTful.

  1. Faites d’abord un clic droit sur le fichier du projet comme indiqué ci-dessous

Créer un service Web reposant

  1. Dans cette étape,
    1. Faites un clic droit sur le fichier du projet
    2. Choisissez l'option "Ajouter-> nouvel élément".

Créer un service Web reposant

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

  1. Choisissez l'option du service WCF (compatible Ajax) – Choisissez un fichier de ce type, cela provoque le Visual studio pour ajouter du code de base qui aide à créer un service Web RESTful. WCF signifie Windows Foundation. WCF est une bibliothèque pour les applications de différentes plates-formes ou de la même plate-forme pour communiquer via différents protocoles tels que TCP, HTTP, HTTPS. Ajax est fondamentalement asynchrone Javascénario et XML. 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 en coulisse.
  2. Donnez ensuite un nom au service qui est TutorialService dans notre cas.
  3. Enfin, cliquez sur le bouton Ajouter pour ajouter le service à la solution.

Créer un service Web reposant

Étape 4) Faites une configuration.
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 projet Webservice. Le fichier Web.config contient toutes les configurations qui permettent à l'application Web de fonctionner comme il se doit. 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

Créer un service Web reposant

  1. Rechercher pour la ligne

Créer un service Web reposant

  1. Changez la ligne en

Créer un service Web reposant

Étape 5) Ajoutez notre code pour l'implémentation.
La prochaine étape de ce didacticiel de 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 consiste à ajouter du code pour représenter nos données qui seront utilisées dans notre programme. Nous allons donc avoir une liste de variables chaîne avec les valeurs de « Arrays », « Queues » et « Stacks ». Cela représentera le nom des didacticiels disponibles via notre service Web d'hébergement.

Créer un service Web reposant

namespace Webservice.REST
{
	[ServiceContract(Namespace = "")]
	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed
	public class TutorialService
	{
		private static List<String> lst = new List<String>
		(new String[] {"Arrays","Queues","Stacks"});

Étape 6) Définissez le code de notre méthode GET.
Nous définirons ensuite 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 appellerons le service depuis notre navigateur.

La méthode ci-dessous sera utilisée pour réaliser le scénario mentionné ci-dessous

  • Si un utilisateur souhaite une liste de tous les didacticiels disponibles, le code ci-dessous devra être écrit pour y parvenir.

Créer un service Web reposant

[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 permet de définir comment on peut 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é. 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) Renvoie la sortie.
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'identifiant du didacticiel.

Créer un service Web reposant

[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 permet de définir comment on peut 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 pourrons alors appeler le service Web comme http://localhost:52645/TutorialService.svc/Tutorial/1 par exemple. Le service Web devra alors renvoyer le nom du didacticiel portant l'identifiant du didacticiel n°1.
  2. Cette section de code est utilisée pour renvoyer le « Nom du didacticiel » dont l'identifiant du didacticiel est transmis à la méthode Web.
  • Par défaut, ce qu'il faut retenir, c'est que tout ce qui est transmis à 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 de l'index dans notre liste et
  • Renvoyez ensuite la valeur au programme appelant en conséquence.

Étape 8) Écrivez le code de la méthode POST.
L'étape suivante 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 didacticiels via la méthode POST. Par exemple, si vous souhaitez ajouter le nom du didacticiel « Test logiciel », vous devrez alors utiliser la méthode POST.

Créer un service Web reposant

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 invoquée via l'appel POST. Les attributs RequestFormat et ResponseFormat doivent être mentionnés comme 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 du didacticiel.

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

Créer un service Web reposant

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json,
	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 invoquée via l'appel POST. Les attributs RequestFormat et ResponseFormat doivent être mentionnés comme 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 invoqué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. (Le Int32 la fonction dans le code est utilisée pour convertir l'ID du didacticiel d'une variable de chaîne en un entier).

Exécuter votre premier service Web Restful

Maintenant que nous avons créé l'intégralité de notre service Web dans la section ci-dessus. Voyons comment exécuter le service Tutorial afin qu'il puisse être invoqué à partir de 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 Projet – Webservice.REST

Exécution d'un service Web reposant

É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 l'intégralité de la solution

Exécution d'un service Web reposant

É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é apparaîtra à côté du bouton Exécuter dans Visual Studio. Dans notre cas, nous avons Google Chrome apparaît. Cliquez simplement sur ce bouton.

Exécution d'un service Web reposant

Production:-

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

Exécution d'un service Web reposant

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 invoque cette API Restful, il recevra le nom du didacticiel basé sur le Tutorialid 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

Test du service Web reposant

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 désormais invoquée depuis notre Webservice. Cela montre également que la valeur 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 « Files d'attente » dans le navigateur.

  1. Consommons ensuite 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 sur le site.

Tutoriel POST/Nom du didacticiel – Lorsqu'un client invoque cette API Restful, le client soumettra une demande pour insérer un nom de didacticiel. 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 quelle application Web.
  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 le type de contenu 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 ». Nous spécifions donc ici que nous voulons ajouter une valeur appelée « Arbres » à notre collection de noms de didacticiels 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 POSTER les données « Arbres » sur notre service Web.

Test du service Web reposant

Désormais, lorsque nous parcourons l'URL du didacticiel pour afficher toutes les chaînes de notre liste de didacticiels, vous verrez maintenant que la valeur de « Arbres » est également présente. Cela montre que la requête POST adressée 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.

Test du service Web reposant

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

DELETE Tutorial/Tutorialid - Lorsqu'un client invoque cette API Restful, le client soumettra une demande de suppression d'un nom de tutoriel basé sur le Tutorialid. Le service Web supprimera ensuite 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 quelle application Web.
  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 dans la liste est envoyé via l'URL en tant que paramètre. Dans notre exemple REST, nous envoyons 1 donc cela supprimera le 2nd é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 » vers notre service Web.

Test du service Web reposant

Désormais, lorsque nous parcourons l'URL du didacticiel pour afficher toutes les chaînes de notre liste de didacticiels, vous remarquerez que la valeur de « Files d'attente » n'est plus présente.

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

Test du service Web reposant

Résumé

  • REST signifie REpresentational State Transfer. REST est utilisé pour créer des services Web légers, maintenables et évolutifs.
  • De plus en plus d'applications migrent vers l'architecture Restful. En effet, de nombreuses personnes utilisent désormais des appareils mobiles et une plus grande variété d'applications migrent 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 Restful.
  • Lorsque USP,EP, BP services Web pour POST et PUT, vous devez utiliser un autre outil appelé fiddler qui peut être utilisé pour envoyer la requête POST et PUT au serveur.