NodeJS est une plate-forme de développement d'applications côté serveur basée sur le moteur JavaScript V8 de Google Chrome. Il permet aux développeurs de créer des serveurs Web rapides et évolutifs. L'une des principales fonctionnalités de NodeJS est l'utilisation d'un modèle de programmation basé sur les événements, particulièrement utile pour les applications nécessitant des E/S élevées et une faible consommation de processeur.
Avant de plonger dans les concepts de routes et de traitement des requêtes, il est important de comprendre ce que sont les API. API est l'acronyme d'Application Programming Interface, qui en traduction libre signifie Application Programming Interface. Les API permettent l'interaction entre différents logiciels de manière simple et sûre, constituant un moyen d'intégrer des systèmes, offrant des avantages tels que la sécurité des données, l'intégration avec d'autres systèmes et l'automatisation des tâches.
Itinéraires
Dans le contexte d'une API, une route est un chemin ou une URL où l'API est accessible. Chaque route représente une ressource spécifique que l'API expose à ses utilisateurs. Dans NodeJS, les routes sont définies à l'aide du module Express, qui est un framework pour NodeJS qui fournit des fonctionnalités pour créer des applications Web et des API.
Par exemple, un simple serveur Web avec deux routes peut être créé comme suit :
Dans le code ci-dessus, la première route est la route racine (« / ») et la deuxième route est la route « /api/users ». La fonction app.get() permet de définir les routes. Le premier argument est le chemin de la route et le deuxième argument est une fonction de rappel qui sera exécutée lors de l'accès à la route.
Traitement des demandes
La fonction de rappel prend deux arguments : req et res. L'argument req représente la requête qui a été envoyée au serveur et l'argument res représente la réponse que le serveur renverra au client.
L'objet req contient des informations sur la requête, telles que les paramètres d'URL, les données envoyées dans le corps de la requête, les en-têtes de la requête et d'autres informations. L'objet res est utilisé pour envoyer la réponse au client. Il dispose de méthodes pour envoyer la réponse sous forme de fichier, sous forme de JSON, sous forme de texte, entre autres formats.
Par exemple, pour envoyer un JSON en réponse, vous pouvez faire ceci :
Dans le code ci-dessus, lors de l'accès à la route '/api/users', le serveur renvoie un JSON avec une liste d'utilisateurs.
Pour manipuler les données envoyées dans le corps de la requête, vous pouvez utiliser le middleware d'analyseur de corps d'Express. L'analyseur de corps extrait l'intégralité du corps de la requête et le place dans l'objet req.body. Par exemple :
Dans le code ci-dessus, lorsqu'une requête POST est envoyée à la route '/api/users', le serveur extrait le corps de la requête et le renvoie en réponse.
En bref, les routes sont les chemins auxquels les utilisateurs de l'API peuvent accéder, et la gestion des requêtes est la manière dont le serveur gère les requêtes envoyées à ces routes. Ce sont des concepts fondamentaux pour créer des API dans NodeJS.