DestinyDevelop
← Retour au blog
Backend5 min28 février 2025

API REST en 2025 : les bonnes pratiques que personne ne respecte

Versioning, pagination, gestion des erreurs, authentification — les patterns que chaque équipe devrait appliquer dès le premier endpoint.

API REST : les erreurs qu'on voit partout

Après avoir audité et construit des dizaines d'APIs, voici les anti-patterns les plus fréquents et comment les éviter.

Versioning : faites-le dès le début

La plupart des équipes ne versionnent pas leur API jusqu'au moment où elles doivent faire un breaking change. Trop tard.

Approche recommandée : /api/v1/... dans l'URL. Simple, explicit, compatible avec tous les clients.

Codes HTTP : utilisez-les correctement

Les erreurs les plus courantes :

  • Retourner 200 avec un corps { "error": true } — non.
  • Retourner 500 pour toutes les erreurs — non.
  • Utiliser 200 pour la création — non, c'est 201.
  • Les codes à connaître :

  • 200 OK — requête réussie
  • 201 Created — ressource créée
  • 204 No Content — succès sans corps (DELETE)
  • 400 Bad Request — payload invalide
  • 401 Unauthorized — non authentifié
  • 403 Forbidden — authentifié mais pas autorisé
  • 404 Not Found — ressource inexistante
  • 409 Conflict — état conflictuel (email déjà utilisé)
  • 422 Unprocessable Entity — validation échouée
  • 429 Too Many Requests — rate limiting
  • Structure des erreurs

    Standardisez le format d'erreur dès le départ :

    { "error": { "code": "VALIDATION_ERROR", "message": "Email invalide", "details": [...] } }

    Pagination : cursor > offset

    La pagination par offset (LIMIT x OFFSET y) est simple mais ne scale pas. Sur 1 million de lignes, OFFSET 900000 scanne 900 000 lignes.

    La pagination par cursor utilise l'ID ou un timestamp comme point de repère. Plus rapide, plus stable, recommandée pour toute API publique.

    Rate limiting : obligatoire

    Même en interne. Un bug client peut DDos votre propre API. Implémentez un rate limiting par IP et par token dès le départ avec un middleware Redis.

    Un projet en tête ?

    Décrivez votre besoin, on vous répond avec une proposition technique sous 48h.

    Demander un devis gratuit