Contrôleurs
Router une requête, produire une page, rediriger proprement.
Contrôleurs et vues
Un contrôleur Spring MVC ressemble tellement à une classe Java ordinaire qu'on oublie la quantité de travail que le framework fait autour de lui. Une méthode déclare @PathVariable Long id, @RequestParam int page, Model model et reçoit trois valeurs prêtes à l'emploi, extraites de trois endroits différents de la requête, converties dans le bon type, validées. Aucune de ces conversions n'apparaît dans votre code.
Cette économie a un prix : quand quelque chose se passe mal, la cause est souvent invisible parce qu'elle est dans une convention que vous ne connaissiez pas. Une variable de chemin qui arrive vide parce que son nom ne correspond pas. Un paramètre absent qui déclenche un 400 alors qu'on l'aurait voulu optionnel. Une redirection après formulaire qui perd le message de confirmation. Un objet ajouté au modèle mais introuvable dans le gabarit.
Toutes ces situations ont la même origine : le contrat entre votre méthode et le framework repose sur des noms et des types, pas sur du code explicite. Comprendre ce contrat, c'est comprendre où regarder quand il n'est pas respecté.
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion