İçeriğe geç

ASP.NET Core Minimal API: Hızlı ve Hafif REST Servisleri

25.07.2024 5 okunma

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);
aspnet minimal api aspnet core 6 minimal api dotnet minimal api c# rest api minimal aspnet microservice
İLERİ DÜZEY C# ASP.NET YAZILIM hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.