Tutoriel sur les services Web RESTful : Exemple d’API REST

⚡ Résumé intelligent

Les services Web RESTful offrent une approche légère et sans état permettant aux applications d'échanger des données via HTTP à l'aide de verbes standard. Ils exposent les ressources de manière claire. URLs, permettant une communication évolutive et indépendante de la plateforme entre clients distribués, serveurs, appareils mobiles et plateformes cloud et d'IA modernes.

  • (I.e. Verbes principaux : Les méthodes GET, POST, PUT et DELETE correspondent directement aux opérations de lecture, de création, de mise à jour et de suppression effectuées sur les ressources du serveur.
  • 🧩 Éléments clé: Les ressources, les verbes de requête, les en-têtes, le corps de la requête, le corps de la réponse et les codes d'état définissent ensemble chaque interaction REST.
  • 🌐 Archi REST suit un modèle client-serveur sans état, structuré en couches et optimisé pour le cache, pour des requêtes répétées plus rapides et plus fiables.
  • Mise en œuvre: ASP.NET avec un modèle de service WCF permet aux développeurs d'exposer des points de terminaison RESTful dans Visual Studio avec une configuration minimale.
  • 🧪 Test: Les navigateurs gèrent les requêtes GET, tandis que Fiddler or Postman Envoyer des requêtes POST, PUT et DELETE à des fins de vérification.
  • (I.e. Meilleures pratiques : HTTPS, authentification par jeton, codes d'état significatifs et versionnage URLs'assurent que les API REST de production sont sécurisées et maintenables.
  • 🤖 Intégration IA : OpenAI, Anthropic et Google Publier des API REST qui alimentent les chatbots, les agents autonomes et les flux de travail d'apprentissage automatique.

Tutoriel sur les services Web RESTful

Qu'est-ce que les services Web reposants ?

Services Web reposants REST est un service léger, facile à maintenir et évolutif, basé sur l'architecture REST. Un service web RESTful expose une API de votre application de manière sécurisée, uniforme et sans état au client appelant. Ce dernier peut ensuite effectuer des opérations prédéfinies via le service RESTful. Le protocole sous-jacent de REST est HTTP, et REST signifie REpresentational State Transfer (Transfert d'état représentationnel).

En termes simples, REST définit une méthode standard pour la création, la lecture, la mise à jour et la suppression de ressources (documents, images, enregistrements de bases de données, etc.) sur le web. S'appuyant sur le protocole HTTP standard, un service RESTful est accessible via presque tous les langages de programmation et appareils, sans outil spécifique.

Pourquoi utiliser les services Web RESTful ?

Avant d'aborder les détails techniques, il est utile de comprendre pourquoi REST a connu un tel succès. Les services Web RESTful ont acquis une telle importance pour les raisons suivantes :

1. Langues 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 également.

  • Il permet aux applications web construites sur différents langages de programmation de communiquer entre elles.
  • Grâce aux services RESTful, ces applications web peuvent résider dans différents environnements ; certaines pourraient être sur Windows, et d'autres pourraient être sous Linux.

Au final, quel que soit l'environnement, le résultat doit toujours être le même : les applications doivent pouvoir communiquer entre elles. Les services web RESTful offrent cette flexibilité aux applications développées sur différentes plateformes et avec divers langages de programmation.

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

Si une application cliente devait interagir avec des sites comme Facebook et Twitter, les développeurs devraient généralement connaître le langage et la plateforme utilisés par ces sites. Sur cette base, ils pourraient écrire le code d'interface, mais cette approche pourrait s'avérer extrêmement difficile à maintenir.

Au lieu de cela, Facebook, Twitter et Google Ils exposent leurs fonctionnalités sous forme de services web RESTful. Cela permet à toute application cliente d'appeler ces services web via REST, quelle que soit la technologie sous-jacente.

Pourquoi utiliser les services Web RESTful ?

2. L'événement des Appareils – Aujourd’hui, tout est à refaire Mobile appareils, qu'il s'agisse d'un téléphone portable, d'un ordinateur portable ou même d'un système audio embarqué dans une voiture.

Imaginez l'effort considérable que représente le développement d'applications sur ces appareils pour communiquer avec des applications web classiques. Là encore, les API RESTful simplifient grandement cette tâche car, comme indiqué précédemment, il n'est pas nécessaire de connaître la couche sous-jacente de l'appareil.

3. L'événement du nuage – Tout migre vers le cloud. Les applications migrent progressivement vers des systèmes basés sur le cloud tels que Azure or Amazon. Azure et Amazon De nombreuses API basées sur l'architecture RESTful sont désormais disponibles. Par conséquent, les applications doivent être développées de manière à être compatibles avec le cloud. Puisque toutes les architectures cloud reposent sur le principe REST, il est logique de programmer les services web selon une architecture REST afin d'optimiser l'utilisation des services cloud.

Éléments clés RESTful

Les services web REST ont considérablement évolué depuis leur création. En 2002, le Web Consortium a publié la définition des services web WSDL et SOAP, établissant ainsi la norme d'implémentation de ces services.

En 2004, le consortium Web a également publié la définition d'une norme supplémentaire appelée RESTful. Au cours des dernières années, cette norme a gagné en popularité et est désormais utilisée par de nombreux sites web parmi les plus fréquentés au monde, dont Facebook et Twitter.

REST est un protocole permettant d'accéder à des ressources situées dans un environnement spécifique. Par exemple, un serveur peut héberger des documents importants, des images ou des vidéos. Ce sont là des exemples de ressources. Si un client, tel qu'un navigateur web, a besoin de l'une de ces ressources, il doit envoyer une requête au serveur. Les services REST définissent une méthode standard d'accès à 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 hébergée sur un serveur contienne les enregistrements de plusieurs employés. URL de l'application web est https://demo.guru99.comPour accéder à la ressource d'enregistrement d'un employé via les services REST, il est possible d'exécuter la commande suivante : https://demo.guru99.com/employee/1Cette commande indique au serveur web de fournir les informations relatives à l'employé dont le numéro d'employé est le 1.
  2. Demander des verbes Ces instructions décrivent l'action que vous souhaitez effectuer sur la ressource. Un navigateur utilise la méthode GET pour indiquer au point de terminaison qu'il souhaite obtenir des données. Cependant, de nombreuses autres méthodes sont disponibles, notamment POST, PUT et DELETE. Ainsi, dans le cas de l'exemple https://demo.guru99.com/employee/1En réalité, le navigateur Web effectue une requête GET car il souhaite obtenir les détails du dossier de l'employé.
  3. En-têtes de demande – Ce sont des instructions supplémentaires jointes à la demande. Elles peuvent préciser le type de réponse attendu ou les détails de l'autorisation.
  4. Corps de la demande Il s'agit des données envoyées avec la requête. Ces données sont généralement transmises dans le corps de la requête lors d'une requête POST adressée à un service web REST. Lors d'un appel POST, le client indique au service web REST qu'il souhaite ajouter une ressource au serveur. Le corps de la requête contient donc les détails de la ressource à ajouter.
  5. Corps de réponse – Voici le corps principal de la réponse. Ainsi, dans notre exemple d'API RESTful, si nous interrogeons le serveur web via la requête https://demo.guru99.com/employee/1Le serveur web peut renvoyer un document XML contenant toutes les informations relatives à l'employé dans le corps de la réponse.
  6. Codes d'état de réponse Il s'agit des codes généraux renvoyés avec la réponse du serveur web. Par exemple, le code 200 est généralement renvoyé lorsqu'aucune erreur ne survient lors de la réponse au client.

Méthodes reposantes

Le diagramme ci-dessous présente la plupart des verbes (POST, GET, PUT et DELETE) et un exemple d'API REST illustrant leur signification.

Supposons que nous ayons un service Web RESTful défini à l'emplacement https://demo.guru99.com/employeeLorsqu'un client effectue une requête auprès de ce service web, il peut spécifier l'un des verbes HTTP classiques : GET, POST, DELETE ou PUT. Voici ce qui se produirait si le client envoyait ces verbes.

  1. POSTEZ – Ceci servirait à créer un nouvel employé via le service web RESTful.
  2. ÉCONOMISEZ – Ceci permettrait d'obtenir la liste de tous les employés utilisant le service web RESTful.
  3. PUT – Ceci servirait à informer tous les employés via le service web RESTful.
  4. EFFACER – Ceci servirait à supprimer tous les employés utilisant le service RESTful.

Examinons maintenant la situation du point de vue d'un seul enregistrement. Supposons qu'il existe un enregistrement d'employé portant le numéro 1. Les actions suivantes auraient alors leur signification respective.

  1. POSTEZ – Cela ne serait pas applicable, puisque nous récupérons les données de l'employé 1, qui est déjà créé.
  2. ÉCONOMISEZ – Ceci permettrait d'obtenir les informations concernant l'employé portant le numéro 1 via le service web RESTful.
  3. PUT – Ceci servirait à mettre à jour les informations de l'employé numéro 1 via le service web RESTful.
  4. EFFACER – Ceci permet de supprimer les informations de l'employé portant le numéro 1.

Méthodes reposantes

Reposant Architecture

Une application ou une architecture considérée comme RESTful ou de style REST possède 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 classiques : GET, POST, PUT et DELETE. Ainsi, pour récupérer un fichier depuis un serveur, il suffit d'effectuer une requête GET. Pour déposer un fichier sur le serveur, il faut utiliser une requête POST ou PUT. Enfin, pour supprimer un fichier du serveur, il faut utiliser une requête DELETE.

2. L'architecture est de type 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.

Pour s'assurer que la ressource est bien supprimée, il faut effectuer une requête GET. Cette requête permet d'abord de récupérer toutes les ressources présentes sur le serveur, puis de vérifier si la ressource a effectivement été supprimée.

Principes et contraintes RESTFul

L'architecture REST repose sur quelques caractéristiques, détaillées ci-dessous. Tout service web RESTful doit respecter ces caractéristiques pour être qualifié de RESTful. Ces caractéristiques sont également appelées principes de conception et doivent être suivies lors de l'utilisation de services RESTful.

  1. Client-Serveur RESTFul

    Principe client-serveur RESTful

Il s'agit de l'exigence fondamentale d'une architecture REST. Cela signifie que le serveur propose un service web RESTful fournissant les fonctionnalités requises au client. Le client envoie une requête au service web sur le serveur. Le serveur rejette alors la requête ou y répond en fournissant une réponse appropriée au client.

  1. Apatride

Le concept d'absence d'état signifie qu'il incombe au client de fournir au serveur toutes les informations nécessaires. Ceci est indispensable pour que le serveur puisse traiter la réponse correctement. Le serveur ne doit conserver aucune information entre les requêtes du client. Il s'agit d'une séquence question-réponse très simple et indépendante. Le client pose une question et le serveur y répond de manière appropriée. Lorsque le client pose une autre question, le serveur ne conserve aucune trace de la précédente et doit répondre à la nouvelle question indépendamment.

  1. Cache

Principe de cache RESTful

Le concept de cache permet de résoudre le problème d'absence d'état décrit précédemment. Chaque requête client-serveur étant indépendante, il arrive que le client soumette à nouveau la même requête, même s'il l'a déjà effectuée. Cette requête est envoyée au serveur, qui répond, ce qui augmente le trafic réseau. Le cache est un mécanisme implémenté côté client pour stocker les requêtes déjà envoyées au serveur. Ainsi, si le client soumet une nouvelle requête, au lieu d'interroger le serveur, il accède au cache pour obtenir les informations nécessaires. Cela réduit considérablement le trafic réseau aller-retour entre le client et le serveur.

  1. Système en couches

Le concept d'un système en couches repose sur la possibilité d'insérer une couche supplémentaire, telle qu'une couche intermédiaire, entre le client et le serveur hébergeant le service web RESTful. (La couche intermédiaire implémente la logique métier. Il peut s'agir d'un service externe avec lequel le client interagit avant d'appeler le service web.) L'insertion de cette couche doit toutefois être transparente afin de ne pas perturber l'interaction entre le client et le serveur.

  1. Interface/Uniform Contract

Voici le principe de fonctionnement des services web RESTful. RESTful opère au niveau de la couche HTTP et utilise les verbes clés ci-dessous pour interagir avec les ressources du serveur.

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

REST vs SOAP : Principales différences

Lors de la conception d'un service web, les développeurs comparent souvent REST et SOAP. Bien que les deux permettent la communication entre applications distribuées, leur philosophie diffère fondamentalement. REST est un style architectural qui utilise des verbes HTTP simples et des formats légers comme JSON, tandis que SOAP… SOAP est un protocole strict qui repose sur des enveloppes XML et une convention formelletract. Le tableau ci-dessous résume les distinctions les plus importantes.

Aspect REST SOAP
Type Archistyle textile Protocole strict
Format de données JSON, XML, texte brut, HTML XML uniquement
Transports HTTP uniquement HTTP, SMTP, TCP et autres
État Apatride apatride ou avec État
Performances Plus rapide et plus léger Plus lourd en raison de la surcharge XML
Meilleur pour API Web, mobiles et publiques Applications d'entreprise nécessitant une sécurité stricte

En pratique, REST est le choix par défaut pour les API web et mobiles publiques car il est plus rapide et plus facile à utiliser, tandis que SOAP reste utile pour les systèmes d'entreprise qui exigent une sécurité intégrée et des protocoles formels.tracts.

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

Dans ce tutoriel sur les API REST, nous allons apprendre à créer un service web RESTful en ASP.NET.

Les services Web peuvent être créés dans divers langages, et 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. Nous aurons un service web RESTful qui traitera 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 tutoriels dont elle dispose en fonction de l'identifiant du tutoriel (Tutorialid).

Tutoriel Nom du didacticiel
0 Arrays
1 Queues
2 Combos

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

  1. OBTENIR Tutoriel – Lorsqu'un client invoque cette API RESTful, il recevra l'ensemble des tutoriels disponibles sur le service web.
  2. GET Tutoriel/Tutorialide – Lorsqu'un client invoque cette API RESTful, le nom du tutoriel lui sera attribué en fonction de l'identifiant du tutoriel (Tutorialid) envoyé par le client.
  3. Tutoriel POST/Nom du didacticiel Lorsqu'un client appelle cette API RESTful, il soumet une requête pour insérer un nom de tutoriel. Le service web ajoute ensuite ce nom à la collection.
  4. DELETE Tutoriel/Tutorialid Lorsqu'un client appelle cette API RESTful, il soumet une requête de suppression d'un nom de tutoriel à partir de son identifiant. Le service web supprime alors le tutoriel concerné de la collection.

Suivons les étapes ci-dessous pour créer notre premier service web RESTful, qui met en œuvre l'implémentation décrite ci-dessus.

Comment créer votre premier service Web reposant

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

Créer un service Web reposant

Une fois que vous aurez cliqué sur l'option Nouveau projet, Visual Studio affichera une autre boîte de dialogue vous permettant de choisir le type de projet et de saisir les informations nécessaires. Ceci est expliqué dans l'étape suivante.

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

  1. Assurez-vous de choisir d'abord le C# Modèle web d'une application web ASP.NET. Ce type de projet est requis pour créer un projet de services web. En choisissant cette option, Visual Studio effectuera les étapes nécessaires pour ajouter les fichiers requis pour toute application web.
  2. Donnez un nom à votre projet, qui dans notre cas est « Webservice.REST ».
  3. Ensuite, indiquez l'emplacement où seront stockés les fichiers du projet.

Créer un service Web reposant

Une fois l'opération terminée, vous verrez le fichier projet créé dans l'explorateur de solutions de 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 hébergera le service web RESTful.

  1. Tout d'abord, cliquez avec le bouton droit sur le fichier de projet comme indiqué ci-dessous.

Créer un service Web reposant

  1. Dans cette étape,
    1. Faites un clic droit sur le fichier 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 Service WCF (compatible Ajax). Le choix d'un fichier de ce type permet à Visual Studio d'ajouter du code de base pour vous aider à créer un service web RESTful. WCF signifie Windows Communication FoundationWCF est une bibliothèque permettant aux applications de différentes plateformes (ou d'une même plateforme) de communiquer via différents protocoles tels que TCP, HTTP et HTTPS. Ajax est 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. 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.

Créer un service Web reposant

Étape 4) Faites une configuration.
L'étape suivante consiste à modifier la configuration pour permettre à ce projet de fonctionner avec les services web RESTful. Cela nécessite une modification du fichier appelé Web.configCe fichier apparaît dans la même fenêtre que le fichier de projet du service Web. Le fichier Web.config contient tous les paramètres nécessaires au bon fonctionnement de l'application Web. La modification apportée permet à l'application d'envoyer et de recevoir des données comme un service Web RESTful pur.

  1. Cliquez sur le fichier Web.config pour ouvrir le code.

Créer un service Web reposant

  1. Trouvez 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.
L'étape suivante consiste à ajouter notre code d'implémentation. Tout le code ci-dessous doit être écrit dans le fichier TutorialService.svc.

  1. La première étape consiste à ajouter le code représentant nos données, qui seront utilisées dans notre programme. Nous aurons donc une liste de variables de type chaîne de caractères avec les valeurs « Arrays », « Queues » et « Stacks ». Cela représentera les noms des tutoriels disponibles via notre service d'hébergement web.

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.
Ensuite, nous définirons le code de notre méthode GET. Ce code se trouvera également dans le fichier TutorialService.svc. Il 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 suivant.

  • Si un utilisateur souhaite obtenir la liste de tous les tutoriels disponibles, il devra écrire le code ci-dessous pour y parvenir.

Créer un service Web reposant

[WebGet(UriTemplate = "/Tutorial")]

public String GetAllTutorial()
{
    int count = lst.Count;
    String TutorialList = "";
    for (int i = 0; i < count; i++)
        TutorialList = TutorialList + lst[i] + ",";
    return TutorialList;
}

Code Explication:-

  1. La première ligne de code est la plus importante. Elle sert à définir comment appeler cette méthode via une URLDonc, si le lien vers notre service web est http://localhost:52645/TutorialService.svc et nous ajoutons '/Tutorial' au URL, Comme dans http://localhost:52645/TutorialService.svc/TutorialLe code ci-dessus sera alors exécuté. L'attribut « WebGet » est un paramètre qui permet à cette méthode d'être une méthode RESTful, afin qu'elle puisse être appelée via la méthode 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é au service Tutorial avec un identifiant de tutoriel, il renverra le nom du tutoriel correspondant en fonction de cet identifiant.

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];
}

Code Explication:-

  1. La première ligne de code est la plus importante. Elle définit comment nous pouvons appeler cette méthode via un URLDonc, si le lien vers notre service web est http://localhost:52645/TutorialService.svc et nous ajoutons '/Tutorial/{Tutorialid}' au URL, nous pourrions appeler le service web comme http://localhost:52645/TutorialService.svc/Tutorial/1Par exemple, le service web renverrait alors le nom du tutoriel dont l'identifiant est 1.
  2. Cette section de code est utilisée pour renvoyer le nom du tutoriel dont l'identifiant a été transmis à la méthode web.
  • Par défaut, il faut se rappeler que tout ce qui est transmis à URL Dans le navigateur, il s'agit d'une chaîne de caractères.
  • Mais n'oubliez pas que l'index de notre liste doit être un entier, nous ajoutons donc le code nécessaire pour convertir d'abord le Tutorialid en entier.
  • Nous l'utilisons ensuite pour accéder à la position de l'index dans notre liste et renvoyer la valeur au programme appelant en conséquence.

Étape 8) Écrivez le code pour la méthode POST.
L'étape suivante consiste à écrire le code de notre méthode POST. Cette méthode sera appelée chaque fois que nous voudrons ajouter une chaîne de caractères à notre liste de tutoriels via la méthode POST. Par exemple, si vous souhaitez ajouter le tutoriel intitulé « Tests logiciels », vous devrez utiliser la méthode POST.

Créer un service Web reposant

[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/Tutorial/{str}")]

public void AddTutorial(String str)
{
    lst.Add(str);
}

Code Explication:-

  1. La première ligne correspond à l'attribut « WebInvoke », associé à notre méthode. Cela permet d'appeler la méthode via une requête POST. Les attributs RequestFormat et ResponseFormat doivent être définis comme JSON, car les valeurs envoyées à un service web RESTful doivent respecter ce format.
  2. La deuxième ligne de code sert à ajouter la valeur de chaîne transmise via l'appel POST à ​​notre liste existante de chaînes de tutoriels.

É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 appelée chaque fois que nous voudrons supprimer une valeur de type chaîne de caractères de notre liste de tutoriels 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);
    lst.RemoveAt(pid);
}

Code Explication:-

  1. La première ligne correspond à l'attribut « WebInvoke », associé à notre méthode. Cela permet d'appeler la méthode via la commande DELETE. Les attributs RequestFormat et ResponseFormat doivent être spécifiés comme JSON, car les valeurs doivent respecter ce format. Notez que le paramètre Method est défini sur « DELETE ». Ainsi, chaque fois que nous utiliserons la commande 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. (Le Int32 La fonction du code est utilisée pour convertir l'identifiant du tutoriel d'une variable de type 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 précédente, voyons comment exécuter le service Tutoriel 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 projet – Webservice.REST.

Exécution d'un service Web reposant

Étape 2) Sélectionnez l'option de menu « Définir comme projet de démarrage ». Cela garantira que ce projet sera exécuté lorsque Visual Studio lancera la solution complète.

Exécution d'un service Web reposant

Étape 3) L'étape suivante consiste à exécuter le projet. Selon le navigateur par défaut installé sur le système, son nom 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:-

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

Exécution d'un service Web reposant

Dans le résultat ci-dessus,

  • Vous pouvez constater que le navigateur utilise la méthode « GET » et exécute la méthode « GetAllTutorial » du service web. Ce module permet d'afficher tous les tutoriels accessibles via notre service web.

Tester votre premier service Web Restful

Dans la section précédente, nous avons déjà vu comment utiliser le navigateur pour exécuter la commande « GET » et invoquer « 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, le nom du tutoriel lui sera attribué en fonction de l'identifiant du tutoriel (Tutorialid) envoyé par le client.

Dans votre navigateur, ajoutez la chaîne /1 après le mot Tutorial dans le URLSi vous appuyez sur la touche Entrée, vous obtiendrez le résultat ci-dessous.

Test du service Web reposant

Vous verrez alors apparaître la valeur « Queues », qui correspond au numéro 1 dans notre liste de chaînes de tutoriels. Cela signifie que la méthode « GetTutorialbyID » est bien appelée par notre service web. Cela indique également que la valeur 1 est correctement transmise par le navigateur à notre service web et à notre méthode, ce qui explique pourquoi nous obtenons la valeur correspondante de « Queues » dans le navigateur.

  1. Ensuite, utilisons 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.

Requête POST Tutorial/Tutorialname – Lorsqu'un client appelle cette API RESTful, il soumet une requête pour insérer un nom de tutoriel. Le service web ajoute ensuite ce nom à la collection.

Exécutez le Fiddler Utilisez l'outil et suivez les étapes ci-dessous.

  1. Accédez à la section du compositeur. Celle-ci sert à créer des requêtes pouvant être soumises à n'importe quelle application web.
  2. Assurez-vous que le type de requête est « POST » et que le bon URL est touché, ce qui dans notre cas devrait être http://localhost:52645/TutorialService.svc/Tutorial.
  3. Assurez-vous que l'en-tête Content-Type est défini sur application/json. N'oubliez pas que notre méthode de requête POST dans notre service web n'accepte que les données au format JSON ; il est donc impératif de le préciser lors de l'envoi d'une requête à notre application.
  4. Enfin, nous devons saisir nos données. N'oubliez pas que notre méthode POST accepte un paramètre nommé « str ». Nous indiquons donc ici que nous souhaitons ajouter une valeur appelée « Trees » à notre collection de noms de tutoriels et nous nous assurons qu'elle soit associée à la variable « str ».

Enfin, cliquez simplement sur le bouton Exécuter dans FiddlerCela enverra une requête au service web pour transmettre les données « Trees » à notre service web.

Test du service Web reposant

Maintenant, lorsque nous accédons au tutoriel URL Pour afficher toutes les chaînes de caractères de notre liste de tutoriels, vous constaterez que la valeur « Trees » y figure également. Cela indique que la requête POST envoyée au service web a été exécutée avec succès et que la chaîne a bien été ajoutée à notre liste de tutoriels.

Test du service Web reposant

  1. Ensuite, utilisons notre service web en exécutant le scénario ci-dessous. Pour cela, nous devons également utiliser… Fiddler outil.

SUPPRESSION Tutorial/Tutorialid – Lorsqu'un client appelle cette API RESTful, il soumet une requête de suppression d'un tutoriel (Tutorialname) à partir de son identifiant (Tutorialid). Le service web supprime alors le tutoriel concerné de la collection.

Exécutez le Fiddler Utilisez l'outil et suivez les étapes ci-dessous.

  1. Accédez à la section du compositeur. Celle-ci sert à créer des requêtes pouvant être soumises à n'importe quelle application web.
  2. Assurez-vous que le type de requête est « SUPPRESSION » et que le champ correct est sélectionné. URL est touché, 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 caractères dans la liste est envoyé via le URL en tant que paramètre. Dans notre exemple REST, nous envoyons 1, ce qui supprimera le 2.nd un élément de notre collection, qui est « Files d'attente ».

Enfin, cliquez simplement sur le bouton Exécuter dans FiddlerCela enverra une requête au service web pour SUPPRIMER les données « Queues » de notre service web.

Test du service Web reposant

Maintenant, lorsque nous accédons au tutoriel URL Pour afficher toutes les chaînes de caractères de notre liste de tutoriel, vous remarquerez que la valeur de « Queues » n'est plus présente.

Cela indique que la requête DELETE adressée au service web a été exécutée avec succès. L'élément situé à l'index 1 dans notre liste de chaînes de caractères du tutoriel a été supprimé avec succès.

Test du service Web reposant

Meilleures pratiques de l'API RESTful

Créer une API REST fonctionnelle n'est que la première étape ; en concevoir une évolutive et maintenable exige de la rigueur. Les bonnes pratiques ci-dessous permettent de garantir que vos points de terminaison sont prévisibles, sécurisés et faciles à utiliser pour les autres développeurs et les agents d'IA.

  • Utilisez des noms, pas des verbes, dans URLs. Des points de terminaison tels que /employés/1 sont plus clairs que /getEmployee?id=1, car le verbe HTTP décrit déjà l'action.
  • Renvoyer des codes d'état significatifs. Envoyer 200 en cas de succès, 201 pour une ressource créée, 400 pour une mauvaise requête, 401 pour un accès non autorisé, 404 pour une ressource manquante et 500 pour les erreurs du serveur.
  • Versionnez votre API. Ajouter un segment de version tel que /v1/ Cette approche vous permet de faire évoluer le service sans impacter les clients existants.
  • Sécurisez chaque point de terminaison. Utilisez HTTPS, ainsi que des clés API ou des jetons OAuth 2.0, et validez toutes les données entrantes.
  • Prise en charge de la pagination et du filtrage. Le fait de renvoyer les collections volumineuses par pages permet d'obtenir des réponses rapides et de réduire la charge du serveur.

Le respect de ces conventions rend votre service web RESTful intuitif à intégrer, que le consommateur soit une application mobile, un système partenaire ou un flux de travail d'IA automatisé.

FAQ

REST est un style architectural qui utilise les verbes HTTP et des formats légers comme JSON. SOAP est un protocole strict qui repose sur des enveloppes XML. REST est plus rapide, plus simple et mieux adapté aux clients web et mobiles, tandis que SOAP convient aux systèmes d'entreprise nécessitant une sécurité intégrée.

Les API RESTful renvoient des codes d'état HTTP standard. Le code 200 confirme la réussite de la requête, le code 201 indique la création d'une ressource, le code 400 signale une requête incorrecte, le code 401 signifie « non autorisé », le code 404 signale une ressource manquante et le code 500 signale une erreur serveur lors du traitement.

Les API REST sont sécurisées grâce au protocole HTTPS pour le chiffrement des données de transmission, à l'authentification par clés API ou jetons OAuth 2.0, au contrôle d'accès basé sur les rôles pour l'autorisation, à la limitation du débit pour prévenir les abus et à une validation stricte des entrées. La journalisation des requêtes facilite l'audit et la gestion des incidents.

Les fournisseurs d'IA tels qu'OpenAI, Anthropic et Google Ce service expose des points de terminaison REST qui acceptent des requêtes JSON et renvoient du texte généré. Les développeurs envoient des requêtes POST avec des clés API, et le service répond avec le résultat du modèle, permettant ainsi la création de chatbots, d'agents et de pipelines d'automatisation.

Oui. Les agents d'IA modernes utilisent des appels d'outils ou de fonctions pour invoquer des points de terminaison REST au cours d'une conversation. L'agent sélectionne un point de terminaison, construit la charge utile JSON, envoie la requête et analyse la réponse pour planifier sa prochaine action sans intervention humaine.

Un navigateur web peut tester directement les requêtes GET. Pour les requêtes POST, PUT et DELETE, les développeurs utilisent des outils tels que… Fiddler or Postman, qui vous permettent de définir des en-têtes, de choisir un verbe et d'inspecter la réponse.

Les services REST échangent généralement des données au format JSON, car il est léger et facile à analyser. Ils peuvent également utiliser XML, HTML ou du texte brut. Le client et le serveur s'accordent sur le format grâce aux en-têtes HTTP Content-Type et Accept.

Résumez cet article avec :