FastEndpoints für C# (.NET): Komplettleitfaden mit Beispielen
FastEndpoints ist eine moderne, hochperformante Bibliothek zur Erstellung von Web-APIs auf der .NET-Plattform (ASP.NET Core), die das REPR-Muster (Request-Endpoint-Response) implementiert. Im Gegensatz zum traditionellen MVC-Ansatz (Model-View-Controller) oder Minimal APIs bietet FastEndpoints eine sauberere, modularere und besser testbare Architektur, bei der jeder Endpoint eine eigene Klasse darstellt, die für die Verarbeitung einer bestimmten Anfrage zuständig ist.
Warum diese Bibliothek? In großen Projekten mit Dutzenden oder Hunderten von Endpoints werden traditionelle Controller schnell zu "Gottobjekten" mit aufgeblähter Logik. FastEndpoints löst dieses Problem, indem es den Entwickler zwingt, Zuständigkeiten klar zu trennen: eine Klasse – ein Endpoint. Das vereinfacht Wartung, Tests und Wiederverwendung von Code. Zudem basiert die Bibliothek auf nativem System.Text.Json und ist für maximale Leistung optimiert, was sie zu einer der schnellsten Bibliotheken für die API-Erstellung im .NET-Ökosystem macht.
FastEndpoints eignet sich ideal für Microservice-Architekturen, Projekte mit Domain-Driven Design (DDD) und Clean Architecture. Es bietet integrierte Validierung (über FluentValidation), Swagger/OpenAPI-Support, Fehlerbehandlung, Caching, Endpoint-Versionierung und vieles mehr, sodass Entwickler weniger Boilerplate-Code schreiben müssen.
Installation
FastEndpoints wird über NuGet installiert. Sie benötigen das .NET SDK 6.0 oder höher. Führen Sie einen der folgenden Befehle im Terminal aus:
dotnet add package FastEndpoints
Für die Swagger-Integration (optional, aber empfohlen):
dotnet add package FastEndpoints.Swagger
Für die Verwendung von FluentValidation (empfohlen):
dotnet add package FluentValidation
Schnellstart – Minimales funktionsfähiges Beispiel
Erstellen Sie ein neues ASP.NET Core Web API-Projekt (leer oder mit Controllern – das spielt keine Rolle, da wir FastEndpoints verwenden).
Schritt 1: Konfiguration von Program.cs
using FastEndpoints;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddFastEndpoints(); // FastEndpoints-Dienste registrieren
var app = builder.Build();
app.UseFastEndpoints(); // Middleware einbinden
app.Run();
Schritt 2: Endpoint erstellen
Erstellen Sie einen Ordner Endpoints und darin eine Datei HelloEndpoint.cs:
using FastEndpoints;
namespace MyApi.Endpoints;
public class HelloEndpoint : Endpoint<EmptyRequest, string>
{
public override void Configure()
{
Get("/api/hello"); // HTTP-Methode GET auf /api/hello
AllowAnonymous(); // Ohne Authentifizierung zugänglich
}
public override async Task HandleAsync(EmptyRequest req, CancellationToken ct)
{
await SendAsync("Hallo, Welt!", cancellation: ct);
}
}
Schritt 3: Ausführen
Starten Sie die Anwendung (dotnet run) und öffnen Sie im Browser http://localhost:5000/api/hello. Sie sehen die Antwort: Hallo, Welt!
Wichtige Klassen und Methoden
Nachfolgend finden Sie die wichtigsten Klassen und Methoden der FastEndpoints-Bibliothek mit Anwendungsbeispielen.
1. Die Klasse Endpoint<TRequest, TResponse>
Signatur: public abstract class Endpoint<TRequest, TResponse> : BaseEndpoint where TRequest : notnull, new()
Funktion: Basisklasse zum Erstellen eines Endpoints. Akzeptiert den Anforderungstyp (TRequest) und den Antworttyp (TResponse).
Beispiel:
public class CreateUserEndpoint : Endpoint<CreateUserRequest, Us Auch in der Bibliothek
GraphQL-Bibliotheken für TypeScript: Vollständiger Leitfaden zur Auswahl und Verwendung
Moshi für Kotlin: Komplettguide mit Beispielen
Swagger/OpenAPI-Generierung für Go (Golang): Vollständige Anleitung
afero für Go: Vollständiges Tutorial mit Beispielen
Hangfire für C# (.NET): Vollständiges Tutorial mit Beispielen