Nous avons une application Spring MVC, la plupart des opérations REST étant la seule opération GET par ressource. Donc actuellement nous avons beaucoup de contrôleurs avec la seule méthode GET qui ne diffère pas les uns des autres (même dans les urls, les types de contenu, les paramètres et etc). Afin de supprimer une telle duplication, notre équipier propose de faire un contrôleur avec la seule opération GET et une carte avec service (nom de la ressource -> service de ressources). Mais nous voyons des inconvénients tels que le réglage de l'injection de printemps plus compliqué, aucune possibilité d'ajouter des restrictions sur les types de contenu, les paramètres - personnaliser le fonctionnement en un mot. En outre, plusieurs ressources doivent résider dans un contrôleur distinct. Aussi, je ne m'attends pas à ce qu'il y ait au moins moyen de documenter la seule méthode dans Swagger de plusieurs façons (avoir une description différente). Pour moi, d'un côté, il y a moins de code mais de l'autre, il y a des possibilités réduites de personnalisation des opérations, mélange d'architectures, manque de documentation appropriée ou au moins une configuration compliquée. Je ne pense pas que ce soit une bonne approche ici pour faire une méthode.Avantages et inconvénients d'avoir un contrôleur pour plusieurs ressources
Ai-je raison? Si oui, comment puis-je le prouver. Si non pourquoi? Merci pour votre temps et vos idées!
Merci, je vous apprécie vraiment trouvé le temps de faire la réponse! Mais je ne vois pas de différence architecturale entre servlets vanilla alors: C ce cas semble être similaire à l'utilisation du modèle de commande –
1. Vous réduisez le code dupliqué en l'introduisant au parent AbstractController et 2. vous avez des points d'extension pour modifier behaivor (le différence que votre coéquipier suggère: contrôleur unique qui est difficile à étendre) – ADS
et qu'en est-il comme alternative avoir un contrôleur avec plusieurs méthodes GET? –