.net 7 Minimal Api Dependency Injection

5 min read Jun 03, 2024
.net 7 Minimal Api Dependency Injection

Injection de dépendances dans Minimal API avec .NET 7

Minimal API est une nouvelle fonctionnalité dans .NET 7 qui permet de créer des API Web légères et performantes. L'un des avantages clés de Minimal API est sa capacité à utiliser l'injection de dépendances, un principe de conception qui permet de séparer les responsabilités et d'améliorer la testabilité du code.

Qu'est-ce que l'injection de dépendances ?

L'injection de dépendances est un modèle de conception qui permet de fournir des dépendances à une classe ou à une méthode sans qu'elle n'ait à les instancier elle-même. Cela permet de rendre le code plus modulaire, testable et flexible.

Configuration de l'injection de dépendances dans Minimal API

Pour utiliser l'injection de dépendances dans Minimal API, vous devez d'abord configurer le conteneur d'injection de dépendances. Cela se fait en utilisant la méthode AddServices dans la classe WebApplicationBuilder.

var builder = WebApplication.CreateBuilder(args);

// Configurez l'injection de dépendances
builder.Services.AddScoped();

var app = builder.Build();

Dans cet exemple, nous ajoutons un service appelé IMyService et son implémentation MyService au conteneur d'injection de dépendances. La méthode AddScoped spécifie que le service sera instancié à chaque requête. Vous pouvez également utiliser les méthodes AddTransient (une nouvelle instance à chaque fois) ou AddSingleton (une seule instance pour l'application).

Injection de dépendances dans les contrôleurs

Une fois que vous avez configuré le conteneur d'injection de dépendances, vous pouvez injecter des dépendances dans vos contrôleurs Minimal API en utilisant le paramètre du constructeur.

public class MyController
{
    private readonly IMyService _myService;

    public MyController(IMyService myService)
    {
        _myService = myService;
    }

    [HttpGet]
    public IActionResult Get()
    {
        // Utilisez le service injecté
        var data = _myService.GetData();

        return Ok(data);
    }
}

Dans cet exemple, le contrôleur MyController prend une instance de IMyService en paramètre du constructeur. Cette instance sera injectée automatiquement par le conteneur d'injection de dépendances.

Avantages de l'injection de dépendances

L'utilisation de l'injection de dépendances dans Minimal API offre plusieurs avantages, notamment :

  • Modularité : permet de diviser votre code en modules indépendants et facilement testables.
  • Testabilité : facilite le test unitaire de votre code en vous permettant de remplacer les dépendances réelles par des mocks.
  • Flexibilité : permet de changer facilement les implémentations des dépendances sans affecter le code qui les utilise.

Conclusion

L'injection de dépendances est une technique puissante qui peut améliorer la qualité et la testabilité de votre code Minimal API. En utilisant le conteneur d'injection de dépendances de .NET 7, vous pouvez injecter facilement des services dans vos contrôleurs et autres composants. N'oubliez pas de bien comprendre les différentes durées de vie des services et de choisir celle qui convient le mieux à votre application.

Featured Posts