FastEndpoints 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

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

FastEndpoints est une bibliothèque moderne et haute performance pour créer des API web sur la plateforme .NET (ASP.NET Core), implémentant le pattern REPR (Request-Endpoint-Response). Contrairement à l'approche traditionnelle MVC (Model-View-Controller) ou aux Minimal API, FastEndpoints propose une architecture plus propre, modulaire et testable, où chaque endpoint est une classe distincte responsable du traitement d'une requête spécifique.

Pourquoi utiliser cette bibliothèque ? Dans les grands projets avec des dizaines, voire des centaines d'endpoints, les contrôleurs traditionnels se transforment rapidement en "objets divins" avec une logique gonflée. FastEndpoints résout ce problème en forçant le développeur à séparer clairement les responsabilités : une classe = un endpoint. Cela simplifie la maintenance, les tests et la réutilisation du code. De plus, la bibliothèque est construite sur System.Text.Json natif et optimisée pour des performances maximales, ce qui en fait l'une des bibliothèques les plus rapides pour créer des API dans l'écosystème .NET.

FastEndpoints est idéal pour l'architecture microservices, les projets Domain-Driven Design (DDD) et Clean Architecture. Elle offre une validation intégrée (via FluentValidation), la prise en charge de Swagger/OpenAPI, la gestion des erreurs, la mise en cache, le versionnage des endpoints et bien plus encore, libérant le développeur de l'écriture de code passe-partout.

Installation

FastEndpoints s'installe via NuGet. Vous avez besoin du SDK .NET 6.0 ou supérieur. Exécutez l'une des commandes suivantes dans le terminal :

dotnet add package FastEndpoints

Pour l'intégration Swagger (optionnel mais recommandé) :

dotnet add package FastEndpoints.Swagger

Pour utiliser FluentValidation (recommandé) :

dotnet add package FluentValidation

Démarrage rapide — exemple minimal fonctionnel

Créez un nouveau projet ASP.NET Core Web API (vide ou avec contrôleurs — peu importe, nous utiliserons FastEndpoints de toute façon).

Étape 1 : Configuration de Program.cs

using FastEndpoints;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddFastEndpoints(); // Enregistre les services FastEndpoints

var app = builder.Build();
app.UseFastEndpoints(); // Ajoute le middleware
app.Run();

Étape 2 : Création d'un endpoint

Créez un dossier Endpoints et, à l'intérieur, un fichier HelloEndpoint.cs :

using FastEndpoints;

namespace MyApi.Endpoints;

public class HelloEndpoint : Endpoint<EmptyRequest, string>
{
    public override void Configure()
    {
        Get("/api/hello"); // Méthode HTTP GET sur /api/hello
        AllowAnonymous();  // Accessible sans authentification
    }

    public override async Task HandleAsync(EmptyRequest req, CancellationToken ct)
    {
        await SendAsync("Bonjour le monde !", cancellation: ct);
    }
}

Étape 3 : Lancement

Lancez l'application (dotnet run) et ouvrez votre navigateur à l'adresse http://localhost:5000/api/hello. Vous verrez la réponse : Bonjour le monde !

Classes et méthodes principales

Voici les classes et méthodes clés de la bibliothèque FastEndpoints avec des exemples d'utilisation.

1. Classe Endpoint<TRequest, TResponse>

Signature : public abstract class Endpoint<TRequest, TResponse> : BaseEndpoint where TRequest : notnull, new()

Fonction : Classe de base pour créer un endpoint. Accepte un type de requête (TRequest) et un type de réponse (TResponse).

Exemple :

public class CreateUserEndpoint : Endpoint<CreateUserRequest, Us

Recommendations