,

Creating an API with Node.js (JavaScript CRUD)

Posted by





CRÉER UNE API AVEC NODEJS (CRUD EN JAVASCRIPT)

CRÉER UNE API AVEC NODEJS (CRUD EN JAVASCRIPT)

Node.js est un environnement de développement JavaScript côté serveur permettant de créer des applications web
rapides et évolutives. L’une des fonctionnalités les plus puissantes de Node.js est la création d’API RESTful
(Application Programming Interface) qui permettent aux applications de communiquer et d’échanger des données de
manière simple et structurée.

Qu’est-ce qu’une API?

Une API est une interface de programmation qui permet à différents logiciels de communiquer entre eux. Elle
définit les méthodes, les requêtes et les réponses acceptées par les applications. Une API RESTful utilise les
principes de l’architecture REST (Representational State Transfer) pour fournir des services web.

Création d’une API avec Node.js

Pour créer une API avec Node.js, nous avons besoin d’installer Node.js sur notre machine. Vous pouvez télécharger
et installer Node.js à partir du site officiel (https://nodejs.org). Une fois Node.js installé, vous pouvez
commencer à créer votre API.

Initialisation du projet

Ouvrez votre terminal ou votre invite de commande et créez un dossier pour votre projet :

mkdir mon-api
cd mon-api

Ensuite, initialisez votre projet Node.js en exécutant la commande suivante :

npm init

Cela permettra de créer un fichier package.json pour votre projet, où vous pourrez spécifier les dépendances
nécessaires et d’autres informations sur votre projet.

Installation des dépendances

Pour créer notre API, nous aurons besoin d’installer quelques dépendances. Utilisez la commande suivante pour
installer express et body-parser :

npm install express body-parser

Express est un framework web flexible pour Node.js qui facilite le développement d’applications web. Body-parser
est un middleware qui permet d’analyser les données envoyées dans les requêtes HTTP.

Création du serveur

Créez un fichier server.js dans votre dossier de projet avec le contenu suivant :


const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

const port = 3000;

app.listen(port, () => {
console.log('Serveur démarré sur le port ' + port);
});

Ce code importe le module express et body-parser, crée une instance de l’application express, configure body-parser
et lance le serveur sur le port 3000.

Création des routes

Ajoutez les routes pour les fonctionnalités CRUD (Create, Read, Update, Delete) dans votre fichier server.js :


app.get('/api/produits', (req, res) => {
// Récupérer tous les produits depuis la base de données
// Retourner les produits en réponse
});

app.post('/api/produits', (req, res) => {
// Créer un nouveau produit dans la base de données à partir des données envoyées dans la requête
// Retourner le produit créé en réponse
});

app.put('/api/produits/:id', (req, res) => {
// Mettre à jour le produit avec l'identifiant spécifié dans la base de données avec les données envoyées dans la requête
// Retourner le produit mis à jour en réponse
});

app.delete('/api/produits/:id', (req, res) => {
// Supprimer le produit avec l'identifiant spécifié de la base de données
// Retourner une réponse indiquant le succès de la suppression
});

Ces routes définissent les différentes opérations CRUD pour l’entité “produit”. Vous devrez implémenter la logique
pour traiter chaque requête en fonction de vos besoins.

Exécution de l’API

Enfin, pour exécuter votre API, utilisez la commande suivante dans votre terminal ou votre invite de commande :

node server.js

Votre API sera alors accessible à l’adresse http://localhost:3000/api/produits.

Conclusion

Créer une API avec Node.js est relativement simple et permet de développer des applications web puissantes et
flexibles. En utilisant les principes de l’architecture REST, vous pouvez offrir des services web bien structurés
et faciles à consommer par d’autres applications. En suivant les étapes décrites ci-dessus, vous pouvez créer
rapidement votre propre API CRUD en JavaScript avec Node.js.

0 0 votes
Article Rating
20 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
From Scratch - Le développement Web de zéro
10 months ago

🍀 Si tu veux devenir Développeur Front-end, c’est ici => https://fromscratch.podia.com/

Emm Tes
10 months ago

Bonjour FS, sur ton site, comment fait-on pour s'enregistrer? J'imagine qu'il faut être enregistré pour pouvoir se connecter et payer? A une époque j'avais fait ça avec SG-autorépondeur sur un site WP, mais cela doit-être possible avec Sendiblue ou Mailchimp (vérif d'email comme une newsletter avec un lien cliquable dans l'email); paiement avec Strip, Paypal ou virement bancaire avec l'Iban (Gratuit et sécure!)?
Merci pour ta réponse. Emmanuel

Alex Chaussaroux | Dev Full stack
10 months ago

Juste pour vous tenir informé, lorsque vous essayez de vous connecter à une base de données. L'erreur indique que la méthode connect() de Mongoose ne prend plus de rappel (callback) en argument. Dans les versions récentes de Mongoose, la méthode connect() renvoie une promesse plutôt que d'accepter un callback.

hyhghjb
10 months ago

Ce qui a manqué, c'est l'authentification sinon c'est une Masterclass 👌

Quiconque
10 months ago

Attention , une version de mongoose vient d'être publiée (le 25 aout 2023). Cette version est la version 7.4.5 et fait complètement planter cette application.

Solution :
npm uninstall mongoose
npm i mongoose@6.12.0

Cela vous fera désinstaller la version 7.4.5 et vous installera la dernière version stable

Mick Son
10 months ago

T'aurai pas du appeler ta bdd "Post" mais "Publication", car on s'y perd avec le "Post" de l'appel Postman

F R
F R
10 months ago

salut donc si j'ai bien compris Router.patch cest pour update des données qui ne sont pas en direct avec le modele ?

Mrbilal
10 months ago

Lors de la connexion ca me met une erreur si en options de mongoose.connect je met une fonction fleché du coup je met le console.log() directement apres la virgule

Agent Arx6
10 months ago

Toujours une superbe video, merci Julien 👍

Waffle Man
10 months ago

Meilleur , je dis bien the BEST Tuto avec NODEJS fr que j'ai vue depuis 3 jours que je regarde comment le maitriser

TheFickFox
10 months ago

Salut ! Cependant quand je me connecte avec mongoose cela me dit que à partir de la 6.0.0 cela n'accepte plus les callback (merci chatgpt), cela est grave si je n'en mets pas ?

frank kamgang
10 months ago

C'est du lourd bro…
Je fais ta publicité depuis le Cameroun 🇨🇲
j'aime tes vidéos

mohammed andalossi
10 months ago

tu mets autosave dans visual studio code et tu restes tranquille

SoftSkillSecrets
10 months ago

je te suis deja depuis deux ans et je penses que tu es super coll surtout sur la maniere daborder les thematiques tu touches juste essentiel c'est ça qui fais la vrai difference merci pour tout tes tutos et tes retour d'experiences continue ainsi big up a toi jfscratch

Quentin Mengue
10 months ago

tu devrais au moins mettre le côté frontend sur youtube pour cette fois

Super Cool Ninja
10 months ago

Salut, pour la method findById en faite, c'est une promesse du coup il faut lui donné un coup de "await" avant de pouvoir l'utilisé.
const post = await PostModel.findById(id);

ps, j'ai bloqué dessus pendant genre 20 mn en cherchant a comprendre mon erreur d'oublis … 😅

Angélique Pinchon
10 months ago

Ce que j'adore dans tes vidéos, c'est que tu ne te prends pas la tête, tu codes en laissant trainer des erreurs qui permettent de réfléchir au "mais pourquoi ça ne fonctionne pas…?" J'apprends beaucoup de cette manière. J'ai juste eu un problème avec le "await post.remove()" pour moi ça n'a pas fonctionné alors en allant sur la doc, j'ai testé "await PostModel.deleteOne(post)" et bingo.
Un grand merci pour cette vidéo et hâte de te suivre pour le front !!

Assoula Koulintea
10 months ago

Bonjour. Merci pour vos très bonnes vidéos. Comment connecte-t-on une base HFSQL dans Node JS ?

Mo
Mo
10 months ago

Ah j'ai mis du temps à comprendre que c’était la stack MEAN… ah oops React ! Mais blague à part très bonne intro sur le sujet merci !

Major Down
10 months ago

encore une très bonne vidéo.
Un truc me désole :
on peut voir beaucoup de vidéo de comment créer un backend avec si ou ça, comme si ou comme ça…. mais on ne vois quasiment aucune vidéo parlant de l'hébergement à proprement parler.
Comment héberger une API NodeJS / mongoDB chez par exemple hostinger ou un autre ? nan parce que je ne connais aucun hébergeur configuré pour mongoDB, ce qui, je pense, freine l'utilisation de mongoDB…
Ce n'est que mon opinion biensur.