Express : comment structurer une API qui grossit ?

posée 5 months ago349 vuesfr

0

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.

posée 5 months ago

1 réponse

8
✓
✓ Réponse acceptée

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é.

answered 5 months ago

Sign in and verify your email to post an answer.