Une API REST (Representational State Transfer), parfois appelée AP RESTful, est une API qui utilise des requêtes HTTP pour accéder aux ressources et les utiliser.

Ces ressources sont souvent représentées au format JSON bien qu'à certaines occasions, les formats XML, texte et HTML soient utilisés. Les API REST sont devenues un moyen standard pour les applications d'échanger des données sur un réseau via des méthodes HTTP telles que GET, PUT, POST et DELETE. Ils facilitent la création, la lecture, la mise à jour et la suppression de ressources communément appelées opérations CRUD.

Ce guide explique comment vous pouvez utiliser Node. JS pour créer une simple API CRUD Restful.

Ce que vous devez suivre

Assurez-vous que Node.js est installé sur votre ordinateur local. Courir nœud -v pour vérifier si Node. JS est installé. Cette commande doit renvoyer le numéro de version.

En rapport: Comment installer Node.js sur Windows

Vous devriez également avoir une instance de travail de votre favori éditeur de texte (par exemple, code VS).

instagram viewer

Configuration du projet

Créez un dossier pour votre application et accédez-y. Sur le terminal et dans le répertoire que vous venez de créer, initialisez package.json en exécutant npm init.

$npm init -y 

le package.json vous aidera à installer et à gérer les packages npm. le -y flag crée le fichier package.json en utilisant les options par défaut sans que vous ayez à configurer les détails individuels. La sortie sur votre terminal devrait ressembler à ceci. Notez que le nom sera différent selon le nom que vous avez donné à votre dossier.

Configurer le serveur

Pour créer un serveur, commencez par installer Express.js et Nodemon. Express.js est un nœud. Framework Js conçu pour faciliter le développement d'applications Web et d'API. Vous l'utiliserez pour configurer le serveur et les points de terminaison de l'API. Nodemon, quant à lui, est un outil de développement qui redémarrera votre serveur lorsque le code de votre application changera.

Exécutez la commande suivante pour installer Express et Nodemon:

npm j'exprime nodemon 

Ensuite, pour créer votre serveur, créez un fichier et appelez-le serveur.js puis ajoutez le code suivant.

// Exiger express
const express = require("express");
// Initialiser express
const app = express();
const PORT = 8080 ;
// analyse JSON
app.use (express.json());
// analyse les données encodées d'URL
app.use (express.urlencodé({ étendu: vrai }));
// crée un serveur
app.listen (PORT, () => {
console.log(`Serveur en cours d'exécution sur le port ${PORT}`);
});

Dans le code ci-dessus, exigez express dans votre serveur.js fichier et initialisez-le. Ensuite, configurez express pour analyser les données encodées JSON et URL. Enfin, créez un serveur en utilisant le Ecoutez() méthode d'Express.

En rapport: Qu'est-ce qu'Express.js et pourquoi devriez-vous l'utiliser ?

Premiers pas: créer un tableau pour stocker les données utilisateur

Pour des raisons de simplicité, vous n'utiliserez pas une base de données mais plutôt un simple tableau d'utilisateurs. Dans votre app.js, ajoutez le code suivant après la ligne qui analyse les données encodées en URL.

const utilisateurs = [{
identifiant: 1,
nom: "Jane Doe",
âge: "22",
},
{
identifiant: 2,
nom: "John Doe",
âge: "31",
}];

En rapport: Comment créer une base de données et une collection dans MongoDB

Comment configurer des itinéraires dans Express.js

Pour effectuer des opérations sur vos données, vous devez configurer le routage. Les routes détermineront comment votre application répondra aux demandes adressées à un point de terminaison particulier. Chaque route a une méthode HTTP, une URL et une fonction de gestionnaire qui gère la requête et la réponse HTTP. Pour configurer les itinéraires, ajoutez ce qui suit à votre serveur.js fichier après votre utilisateurs déployer.

app.post('/create', (req, res) => {
// Créer un utilisateur
});
app.get('/users', (req, res) => {
// Récupère tous les utilisateurs
});
app.get('/user/:userID', (req, res) => {
// Renvoie un utilisateur par ID
});
app.put('/user/:userID', (req, res) => {
// Mettre à jour un utilisateur par ID
});
app.delete('/delete/:userID', (req, res) => {
// Supprimer un utilisateur par ID
});
app.delete('/users', (req, res) => {
// Supprimer tous les utilisateurs
});

Comment effectuer des opérations CRUD dans Node. Js

Vous devez créer les fonctions qui manipuleront les données utilisateur et renverront une réponse en fonction de l'itinéraire correspondant. Ces fonctions créeront, liront, mettront à jour et supprimeront les données de l'utilisateur.

En rapport: Comment effectuer des opérations CRUD dans MongoDB

Comment créer un nouvel utilisateur

Pour créer un nouvel utilisateur, vous devrez :

  • Vérifiez si le corps de la requête est vide. Si c'est le cas, envoyez une réponse d'erreur.
  • Extrayez les données utilisateur du corps de la requête.
  • Validez les données de l'utilisateur.
  • Poussez les données utilisateur vers la baie.

Notez que vous utilisez un tableau uniquement à des fins de simplicité. Dans un scénario de cas réel, vous interagissez avec une base de données.

Modifiez votre itinéraire POST comme ci-dessous.

app.post("/create", (req, res) => {
// Vérifie si le corps de la requête est vide
if (!Object.keys (req.body).length) {
return res.status (400).json({
message: "Le corps de la requête ne peut pas être vide",
});
}
// Utiliser la déstructuration d'objet pour obtenir le nom et l'âge
const { nom, âge } = req.body ;
si (!nom || !âge) {
res.status (400).json({
message: "Assurez-vous d'avoir envoyé le nom et l'âge",
});
}
const nouvelutilisateur = {
identifiant: utilisateurs.longueur + 1,
Nom,
âge,
};
essayer {
utilisateurs.push (nouvelutilisateur);
res.status (201).json({
message: "Création réussie d'un nouvel utilisateur",
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la création de l'utilisateur",
});
}
});

Comment lire les utilisateurs

Pour récupérer tous les utilisateurs, renvoyez le tableau users dans votre réponse.

app.get("/users", (req, res) => {
essayer {
res.status (200).json({
utilisateurs
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la récupération de tous les utilisateurs",
});
}
});

Si vous testez cette route à l'aide de postman, vous devriez recevoir le tableau des utilisateurs dans le corps de la réponse.

Pour récupérer un seul utilisateur :

  • Obtenez l'ID utilisateur à partir du paramètre URL.
  • Utiliser trouver() pour identifier les données utilisateur spécifiques que vous demandez.
  • Renvoie l'utilisateur dans la réponse.
app.get("/users/:userID", (req, res) => {
id const = parseInt (req.params.userID);
console.log (id);
essayer {
laissez user = users.find((user) => user.id id);
si (!utilisateur) {
retourner res.status (404).json({
message: "Utilisateur introuvable",
});
}
res.status (200).json({
utilisateur,
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la récupération de l'utilisateur",
});
}
});

Comment mettre à jour les utilisateurs

Pour mettre à jour l'utilisateur :

  • Récupérez l'ID utilisateur à partir de l'URL.
  • Utiliser trouver() pour vérifier si l'utilisateur existe.
  • Utiliser Indice de() pour obtenir l'index de l'utilisateur référencé.
  • Utilisez l'index pour modifier les données utilisateur avec les données envoyées via le corps de la requête.
app.put("/users/:userID", (req, res) => {
essayer {
id const = parseInt (req.params.userID);
laissez user = users.find((user) => user.id id);
si (!utilisateur) {
retourner res.status (404).json({
message: "Utilisateur introuvable",
});
}
const userIDX = utilisateurs.indexOf (utilisateur);
utilisateurs[userIDX].name = req.body.name || utilisateurs[userIDX].nom ;
utilisateurs[userIDX].age = req.body.age || utilisateurs[userIDX].age ;
res.status (200).json({
message: "Utilisateur mis à jour avec succès",
utilisateur,
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la récupération de l'utilisateur",
});
}
});

Comment supprimer des utilisateurs

Vous pouvez choisir de supprimer un utilisateur ou tous les utilisateurs.

Pour supprimer un utilisateur :

  • Récupérer l'ID utilisateur à partir de l'URL
  • Utiliser trouver() pour vérifier si l'utilisateur existe
  • Utiliser trouverIndex() pour obtenir l'index de l'utilisateur référencé.
  • Utiliser épissure() pour supprimer l'utilisateur à cet index.
app.delete("/users/:userID", (req, res) => {
essayer {
id const = req.params.userID ;
laissez userIDX = users.findIndex((user) => user.id id);
si (!userIDX) {
res.status (404).json({
message: "Utilisateur introuvable",
});
}
utilisateurs.splice (userIDX, 1);
res.status (200).json({
message: "Utilisateur supprimé avec succès",
utilisateurs,
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la suppression de l'utilisateur",
});
}
});

Pour supprimer tous les utilisateurs, raccordez l'ensemble du tableau.

app.delete("/users", (req, res) => {
essayer {
utilisateurs.splice (0, utilisateurs.longueur);
res.status (200).json({
message: "Tous les utilisateurs ont été supprimés avec succès",
utilisateurs,
});
} capture (erreur) {
res.status (500).json({
message: "Échec de la suppression des utilisateurs",
X,
});
}
});

En savoir plus sur les API RESTful

Ce didacticiel explique comment créer une API RESTful de base dans Node. JS. Vous avez appris à créer un serveur Express, à configurer des routes et enfin à créer des fonctions de gestionnaire qui interagissent avec vos données via des requêtes/réponses HTTP.

Il y a cependant quelques sujets essentiels non couverts ici que vous devriez approfondir, y compris comment connecter votre application à une base de données comme MongoDB et comment sécuriser les routes.

Comment une base de données MongoDB peut mieux organiser vos données

MongoDB (de "humongous") est une base de données orientée document multiplateforme utilisée comme alternative à MySQL. Mais qu'est ce que ça veut dire?

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • La programmation
  • Javascript
  • API
A propos de l'auteur
Marie Gathoni (2 articles publiés)

Mary Gathoni est une développeuse de logiciels passionnée par la création de contenu technique non seulement informatif mais également engageant. Lorsqu'elle ne code pas ou n'écrit pas, elle aime passer du temps avec des amis et être à l'extérieur.

Plus de Mary Gathoni

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner