Minimal API Nedir?
Geleneksel Controller sınıfı olmadan doğrudan Program.cs içinde endpoint tanımlamanızı sağlar. Boilerplate kod minimuma iner.
Basit Minimal API
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<AppDbContext>(opt =>
opt.UseInMemoryDatabase("TestDb"));
var app = builder.Build();
app.MapGet("/urunler", async (AppDbContext db) =>
await db.Urunler.ToListAsync());
app.MapGet("/urunler/{id}", async (int id, AppDbContext db) =>
await db.Urunler.FindAsync(id) is Urun u ? Results.Ok(u) : Results.NotFound());
app.MapPost("/urunler", async (Urun urun, AppDbContext db) => {
db.Urunler.Add(urun);
await db.SaveChangesAsync();
return Results.Created($"/urunler/{urun.Id}", urun);
});
app.MapDelete("/urunler/{id}", async (int id, AppDbContext db) => {
if (await db.Urunler.FindAsync(id) is Urun u) {
db.Urunler.Remove(u);
await db.SaveChangesAsync();
return Results.NoContent();
}
return Results.NotFound();
});
app.Run();Route Groups
var urunler = app.MapGroup("/api/urunler").RequireAuthorization();
urunler.MapGet("/", Listele);
urunler.MapPost("/", Ekle);