Express : comment structurer une API qui grossit ?
posée 5 months ago349 vuesfr
Mon server.js fait 1 500 lignes avec toutes les routes, la validation et les requêtes SQL mélangées. Quelle structure adopter ?
Diagnostic IA
Généré par IA. Ce n'est pas une réponse — la communauté ci-dessous le confirme ou le corrige. Vérifiez toujours avant de vous y fier.
1 réponse
Sépare par fonctionnalité et par couche :
src/
app.js # création de l'app, middlewares globaux
server.js # listen()
modules/
users/
users.routes.js # routes + validation (zod)
users.service.js # logique métier
users.repository.js # accès BDD
orders/
...
lib/
db.js
errors.js # classes d'erreur + middleware d'erreur
Principes : - Les routes parsent et valident la requête, puis appellent un service. Pas de SQL dans les routes. - Les services ne connaissent ni req ni res, donc ils sont testables unitairement. - Un middleware d'erreur unique transforme les exceptions en réponses HTTP cohérentes.
Sépare aussi app.js et server.js : tu peux alors tester l'app avec supertest sans ouvrir de port.
Connectez-vous pour dire si ça a marché.
Sign in and verify your email to post an answer.