Kurs:Täglich Routing Übungen

Aus ahrensburg.city
Zur Navigation springen Zur Suche springen

Moderne MapGet-Syntax (.NET 6+)

// Minimal-API: Endpunkte direkt am app-Objekt definieren
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// GET-Endpoint für /hello
app.MapGet("/hello", () => "Hallo Welt!");

// GET-Endpoint mit Parameter
app.MapGet("/user/{name}", (string name) => $"Hallo, {name}!");

// GET-Endpoint mit mehreren Parametern
app.MapGet("/add/{a:int}/{b:int}", (int a, int b) => $"Summe: {a + b}");

// POST-Endpoint (als Vergleich)
app.MapPost("/echo", async (HttpContext ctx) =>
{
    using var reader = new StreamReader(ctx.Request.Body);
    var body = await reader.ReadToEndAsync();
    return Results.Text($"Empfangen: {body}");
});

app.Run();

Kommentar:

  • Kein explizites UseRouting und UseEndpoints nötig!
  • Routen-Parameter werden direkt als Methodenparameter übergeben (z.B. (string name)).
  • Typen (int, string, etc.) dienen als Constraints.
  • Für komplexe Logik kann auch ein Lambda mit HttpContext verwendet werden.

Übung: 1. Schreibe einen neuen Endpoint /greet/{vorname}/{nachname}, der Hallo, Vorname Nachname! zurückgibt. 2. Ergänze einen Endpoint, der das aktuelle Datum unter /now ausgibt.


Vorteile der modernen Form

  • Kürzer, lesbarer, weniger Boilerplate.
  • Ideal für kleine APIs und Lernprojekte.
  • Alle Constraints, Parameter etc. funktionieren wie gewohnt.