Un exemple de contrôleur de base .NET Core
Introduction
Dans le développement d'applications web .NET Core, il est fréquent de rencontrer des actions et des fonctionnalités communes à plusieurs contrôleurs. Pour éviter la duplication de code et maintenir une structure cohérente, il est conseillé d'utiliser un contrôleur de base. Un contrôleur de base sert de point d'entrée pour les autres contrôleurs, offrant des actions et des méthodes partagées.
Créer un contrôleur de base
Commençons par créer un contrôleur de base dans votre projet .NET Core.
using Microsoft.AspNetCore.Mvc;
namespace MyApplication.Controllers
{
public class BaseController : Controller
{
// Méthodes et actions partagées
public IActionResult Index()
{
return View();
}
// Méthode pour obtenir un utilisateur authentifié
protected User GetCurrentUser()
{
// Logique pour obtenir l'utilisateur actuel
return null; // Remplacez par votre code
}
}
}
Ce code crée une classe BaseController
qui hérite de Controller
. Elle contient une action Index
qui retourne une vue, et une méthode GetCurrentUser
protégée pour obtenir l'utilisateur actuel.
Utiliser le contrôleur de base
Maintenant, vous pouvez créer des contrôleurs qui héritent de BaseController
.
using Microsoft.AspNetCore.Mvc;
namespace MyApplication.Controllers
{
public class ProductsController : BaseController
{
// Actions spécifiques aux produits
public IActionResult List()
{
// Accéder aux méthodes du contrôleur de base
var currentUser = GetCurrentUser();
// Logique pour afficher la liste des produits
return View();
}
}
}
Dans ce code, ProductsController
hérite de BaseController
. Il peut ainsi accéder à toutes les méthodes et actions définies dans le contrôleur de base, comme GetCurrentUser
et Index
.
Avantages du contrôleur de base
L'utilisation d'un contrôleur de base offre plusieurs avantages :
- Réduction de la duplication de code : Les méthodes et actions communes sont centralisées dans un seul endroit.
- Amélioration de la cohérence : Tous les contrôleurs héritant du contrôleur de base partagent la même structure et les mêmes fonctionnalités.
- Facilité de maintenance : Les modifications apportées au contrôleur de base se propagent automatiquement à tous les contrôleurs hérités.
Conclusion
L'utilisation d'un contrôleur de base est une pratique courante dans le développement d'applications web .NET Core. Cela permet d'améliorer la structure, la cohérence et la maintenabilité du code. Vous pouvez personnaliser votre contrôleur de base en y ajoutant des méthodes et des actions spécifiques aux besoins de votre application.