Développement
Laravel : structurer une API REST qui reste lisible à 50 routes
Publié le 3 avril 2023 · Mis à jour le 3 avril 2023
Un contrôleur de 600 lignes, ça arrive vite. Voici l'organisation que j'applique désormais sur toutes mes plateformes Laravel : Form Requests, Resources et services métier.
Le contrôleur ne fait que coordonner
Il reçoit, délègue, renvoie. Toute règle métier part dans une classe dédiée : le contrôleur reste lisible même après des mois.
Trois outils qui suffisent
- Form Request — la validation quitte le contrôleur
- API Resource — la forme de la réponse est déclarée une fois
- Service — la règle métier devient testable isolément
Nommer les routes
Je m'en tiens aux verbes HTTP et à des noms de ressources au pluriel. Dès qu'une route demande un commentaire pour être comprise, c'est qu'elle mérite sa propre ressource.