Carter pour C# (.NET) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Bibliothèque Carter pour C# (.NET) : Guide complet

1. Qu'est-ce que Carter et pourquoi l'utiliser ?

Carter est un framework léger et haute performance pour créer des API HTTP sur la plateforme ASP.NET Core. Inspiré du célèbre framework NancyFX, il offre aux développeurs une approche déclarative et familière pour le routage et le traitement des requêtes. Contrairement au MVC (Model-View-Controller) traditionnel, Carter permet de définir des endpoints directement dans le code, sans avoir à créer des contrôleurs séparés ni à configurer un routage complexe.

Pourquoi utiliser Carter ? La raison principale est la simplicité et la rapidité de développement. Si vous devez créer rapidement une API minimale ou un microservice, Carter offre une syntaxe concise qui réduit le code standard. Il est idéal pour les projets qui n'ont pas besoin de toute la puissance du MVC, mais qui nécessitent flexibilité et facilité de gestion des requêtes et des réponses. Carter s'intègre parfaitement avec ASP.NET Core, en utilisant son conteneur d'injection de dépendances, son middleware et d'autres fonctionnalités intégrées.

Les fonctionnalités clés de Carter incluent : la liaison automatique des paramètres de route et du corps de la requête (model binding), la prise en charge intégrée de la validation, une gestion simple des erreurs, et la possibilité de tester facilement les endpoints. Le framework est activement maintenu par la communauté et utilisé en production par de nombreuses entreprises.

2. Installation

Pour installer Carter dans votre projet ASP.NET Core, utilisez le gestionnaire de paquets NuGet. Exécutez l'une des commandes suivantes dans le terminal :

dotnet add package Carter

ou via la console du gestionnaire de paquets Visual Studio :

Install-Package Carter

Après l'installation, vous devez enregistrer Carter dans votre fichier Program.cs (ou Startup.cs dans les anciennes versions) :

using Carter;

var builder = WebApplication.CreateBuilder(args);

// Ajout de Carter au conteneur DI
builder.Services.AddCarter();

var app = builder.Build();

// Connexion du middleware Carter
app.MapCarter();

app.Run();

Remarque : dans les versions modernes de .NET (6+), l'API minimale est utilisée, mais Carter reste pertinent pour une logique plus complexe.

3. Démarrage rapide — exemple minimal fonctionnel

Créez un nouveau projet ASP.NET Core (vide ou Web API). Installez Carter comme décrit ci-dessus. Ensuite, créez une classe implémentant l'interface ICarterModule :

using Carter;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;

public class HomeModule : ICarterModule
{
    public void AddRoutes(IEndpointRouteBuilder app)
    {
        // Définition d'un endpoint GET sur le chemin "/"
        app.MapGet("/", () => "Bonjour de Carter !");
        
        // Définition d'un endpoint GET avec un paramètre
        app.MapGet("/hello/{name}", (string name) => $"Bonjour, {name} !");
    }
}

Enregistrez maintenant ce module dans Program.cs :

using Carter;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCarter();
var app = builder.Build();
app.MapCarter();
app.Run();

Lancez l'application et accédez à l'adresse http://localhost:5000/hello/Monde. Vous verrez la réponse : Bonjour, Monde !.

4. Méthodes / fonctions / classes principales

Examinons les éléments clés de Carter que vous utiliserez le plus souvent.

4.1. ICarterModule

ICarterModule est l'interface centrale que vous implémentez pour regrouper vos endpoints. Chaque module peut contenir plusieurs routes, ce qui permet une organisation logique de votre API. La méthode AddRoutes reçoit un objet IEndpointRouteBuilder sur lequel vous définissez vos endpoints.

Recommendations