Express : comment structurer une API qui grossit ?

asked 5 months ago349 viewsfr

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 ?

AI diagnosis

AI-generated. Not an answer — the community below confirms or corrects it. Always verify before relying on it.

asked 5 months ago

1 Answer

8
✓
✓ Accepted answer

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.

Sign in to tell others whether this worked.

answered 5 months ago

Sign in and verify your email to post an answer.