Express : comment structurer une API qui grossit ?
poze 5 months ago343 gadefr
Mon server.js fait 1 500 lignes avec toutes les routes, la validation et les requêtes SQL mélangées. Quelle structure adopter ?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
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.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.