Blog API — Architecture Modulaire

Une API REST complète organisée avec express.Router() — 3 ressources, 3 fichiers de routes séparés.

Endpoints disponibles

MéthodeURLDescriptionStatus
GET/api/articlesListe tous les articles200
GET/api/articles/:idUn article200 / 404
POST/api/articlesCréer un article201 / 400
PUT/api/articles/:idModifier un article200 / 404
DELETE/api/articles/:idSupprimer un article204 / 404
GET/api/usersListe tous les utilisateurs200
GET/api/users/:idUn utilisateur200 / 404
POST/api/usersCréer un utilisateur201 / 400 / 409
PUT/api/users/:idModifier un utilisateur200 / 404
DELETE/api/users/:idSupprimer un utilisateur204 / 404
GET/api/commentsListe les commentaires (?articleId=)200
POST/api/commentsCréer un commentaire201 / 400
DELETE/api/comments/:idSupprimer un commentaire204 / 404

Lancer le projet

# 1. Installer les dépendances
npm install

# 2. Démarrer le serveur
npm run dev        # Avec rechargement automatique (nodemon)
# ou
npm start          # Sans rechargement automatique

# Le serveur démarre sur http://localhost:3000

# 3. Tester avec curl
curl http://localhost:3000/api/articles
curl http://localhost:3000/api/users
curl -X POST http://localhost:3000/api/articles \
  -H "Content-Type: application/json" \
  -d '{"title":"Nouveau","content":"Contenu","authorId":1}'

Structure du projet

mini-projet/
├── server.js            ← Point d'entrée — monte les routeurs
├── package.json
└── routes/
    ├── articles.js      ← Routeur articles (CRUD)
    ├── users.js         ← Routeur utilisateurs (CRUD)
    └── comments.js      ← Routeur commentaires

server.js — Point d'entrée

Chargement...

routes/articles.js

Chargement...
← Exercices Accueil →