C#

ASP.NET Core 9 Minimal API: Kapsamlı Rehber

· 7 dakika okuma · 3
ASP.NET Core 9 Minimal API: Kapsamlı Rehber

Merhaba,

ASP.NET Core 9, .NET 9 ile birlikte Kasım 2024'te yayımlandı. Minimal API yaklaşımı olgunlaştı ve yeni özelliklerle dolu bir sürüm. API geliştirmede minimal API kullanıyorsanız mutlaka inceleyin arkadaşlar.

Minimal API Nerede Duruyor?

Controller tabanlı API ve Minimal API arasındaki seçim artık netleşiyor. Minimal API özellikle mikroservisler, küçük ve orta ölçekli API'ler için mükemmel. ASP.NET Core 9 ile Minimal API'nin controller API'yi geride bıraktığı özellikler artıyor.

OpenAPI (Swagger) Entegrasyonu İyileştirmesi

ASP.NET Core 9'un en dikkat çeken değişikliklerinden biri: Swashbuckle.AspNetCore yerine Microsoft.AspNetCore.OpenApi paketi. Yerleşik OpenAPI desteği daha performanslı ve özelleştirilebilir. Scalar gibi modern UI araçlarıyla birleşince geliştirici deneyimi önemli ölçüde iyileşiyor.

TypedResults ile Daha Güvenli Endpoint'ler

TypedResults artık daha kapsamlı. Endpoint'lerin dönüş tipleri derleme zamanında kontrol ediliyor. IResult yerine Results<Ok<T>, NotFound, BadRequest<ProblemDetails>> gibi birleşik tipler OpenAPI şemasını otomatik oluşturuyor. Swagger dokümantasyonu elle yazmak zorunda kalmıyorsunuz.

Route Groups ile Organizasyon

MapGroup() ile ilgili endpoint'ler gruplanabiliyor: ortak prefix, ortak middleware, ortak authorization policy. Büyük Minimal API projelerinde organizasyon sorunu çözülüyor. Feature-based klasör yapısıyla birleşince temiz mimari mümkün.

Request Delegate Generator (RDG)

ASP.NET Core 9'da Request Delegate Generator iyileştirildi. Source generation ile route handler'lar derleme zamanında üretiliyor. Runtime reflection azalıyor, startup süresi kısalıyor, AOT (Ahead-of-Time) derleme ile native deployment mümkün hale geliyor.

Native AOT ile Minimal API

ASP.NET Core 9 Minimal API, Native AOT ile yayımlanabiliyor. Sonuç: çok küçük binary, çok hızlı startup, çok düşük bellek kullanımı. Container deployment için ideal özellikle Kubernetes'te pod başlatma süresi kritikse.

Authentication ve Authorization İyileştirmeleri

Hybrid auth akışları daha kolay yapılandırılabiliyor. OpenID Connect ve JWT kombinasyonu için daha az boilerplate kod gerekiyor. Keycloak ve Azure AD entegrasyonları daha akıcı.

Sonuç

ASP.NET Core 9 Minimal API, kurumsal API geliştirme için güçlü bir platform. OpenAPI entegrasyonu, TypedResults ve AOT desteği özellikle dikkat çekici. Yeni API projelerinde Controller API yerine Minimal API ile başlamanızı öneririm :)

İyi Günler Dilerim,

Bu yazıyı paylaş: