Carter für C# (.NET): Vollständige Anleitung mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Carter-Bibliothek für C# (.NET): Das vollständige Handbuch

1. Was ist Carter und warum wird es verwendet?

Carter ist ein leichtgewichtiges, leistungsstarkes Framework zur Erstellung von HTTP-APIs auf der ASP.NET Core-Plattform. Es ist vom beliebten NancyFX-Framework inspiriert und bietet Entwicklern einen vertrauten, deklarativen Ansatz für Routing und Request-Handling. Im Gegensatz zum traditionellen MVC (Model-View-Controller) ermöglicht Carter die Definition von Endpunkten direkt im Code, ohne separate Controller oder komplexe Routing-Konfigurationen erstellen zu müssen.

Warum Carter verwenden? Der Hauptgrund ist Einfachheit und schnelle Entwicklung. Wenn Sie schnell eine minimale API oder einen Microservice erstellen müssen, bietet Carter eine prägnante Syntax, die Boilerplate-Code reduziert. Es ist ideal für Projekte, die nicht die volle Leistungsfähigkeit von MVC benötigen, aber Flexibilität und Komfort bei der Arbeit mit Requests und Responses wünschen. Carter lässt sich nahtlos in ASP.NET Core integrieren und nutzt dessen integrierten Dependency-Container, Middleware und andere Funktionen.

Zu den wichtigsten Funktionen von Carter gehören: automatisches Binden von Routenparametern und Request-Body (Model Binding), integrierte Validierungsunterstützung, einfache Fehlerbehandlung und die Möglichkeit, Endpunkte leicht zu testen. Das Framework wird von der Community aktiv unterstützt und von vielen Unternehmen in der Produktion eingesetzt.

2. Installation

Um Carter in Ihr ASP.NET Core-Projekt zu installieren, verwenden Sie den NuGet-Paketmanager. Führen Sie einen der folgenden Befehle im Terminal aus:

dotnet add package Carter

Oder über die Paket-Manager-Konsole in Visual Studio:

Install-Package Carter

Nach der Installation müssen Sie Carter in Ihrer Program.cs (oder Startup.cs in älteren Versionen) registrieren:

using Carter;

var builder = WebApplication.CreateBuilder(args);

// Carter zum DI-Container hinzufügen
builder.Services.AddCarter();

var app = builder.Build();

// Carter-Middleware einbinden
app.MapCarter();

app.Run();

Hinweis: In modernen .NET-Versionen (6+) wird die Minimal-API verwendet, aber Carter ist für komplexere Logik weiterhin relevant.

3. Schnellstart – Minimales Arbeitsbeispiel

Erstellen Sie ein neues ASP.NET Core-Projekt (leer oder Web-API). Installieren Sie Carter wie oben beschrieben. Erstellen Sie dann eine Klasse, die das Interface ICarterModule implementiert:

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

public class HomeModule : ICarterModule
{
    public void AddRoutes(IEndpointRouteBuilder app)
    {
        // GET-Endpunkt unter "/" definieren
        app.MapGet("/", () => "Hallo von Carter!");
        
        // GET-Endpunkt mit Parameter definieren
        app.MapGet("/hello/{name}", (string name) => $"Hallo, {name}!");
    }
}

Registrieren Sie dieses Modul nun in Ihrer Program.cs:

using Carter;

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

Starten Sie die Anwendung und rufen Sie http://localhost:5000/hello/World auf. Sie erhalten die Antwort: Hallo, World!.

4. Wichtige Methoden/Funktionen/Klassen

Sehen wir uns die wichtigsten Elemente von Carter an, die Sie am häufigsten verwenden werden.

4.1. ICarterModule

ICarterModule ist das zentrale Interface in Carter. Jede Klasse, die dieses Interface implementiert, definiert eine Gruppe von zusammengehörigen Endpunkten. Die Methode AddRoutes erhält einen IEndpointRouteBuilder, mit dem Sie Ihre Routen definieren können. Dies fördert eine saubere Trennung der Verantwortlichkeiten und macht Ihren Code modularer und testbarer.

Empfehlungen