Kurse:Täglich Routing Übungen
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
UseRoutingundUseEndpointsnö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
HttpContextverwendet 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.