İlginizi Çekebilir
  1. Ana Sayfa
  2. C#
  3. .Net Core Minimal API Nedir?

.Net Core Minimal API Nedir?

Minimal Api Nedir 1

Minimal API Nedir?

Minimal Api .Net 6’in yeni api dizaynıdır. Geleneksel .Net api özelliklerinden farklı olup yeni bir alternatif sağlar. Kullanmakta olduğumuz WEB API modeli MVC’den türetilmiş, controllers ve action metotlarından oluşur, bununla birlikte model binding, datalar için validasyon ve filters gibi birçok özellik sağlar.

.Net ile api oluşturmanın belli kuralları olduğundan günümüz teknoloji dillerine göre daha kompleks kalmasına neden oluyordu. Daha yalın ve minimalist apilerin populeritesi de artmakta olduğu için ve microservis mimarisinin de bu anlamda büyük ölçüde ilerlemesinden dolayı Microsoft kolları sıvıyor ve geniş kapsamlı karmaşık uygulamalar yani monolitik API yerine birçok küçük web servis hizmeti olacak şekilde yeni bir api patternı tasarlamaya başlıyor.

Günümüzde popüler olarak kullanılan Javascript,Node, Python gibi dillerin de projeler yapıları minimal hatta tek bir dosya uygulamaları bulunuyor. Zamanla .Net de bu dünyayı görerek daha yalın projelere ve daha küçük yapıları oluşturmak üzere geliştirmeler yapıyor ve Minimal API’ler ile daha hafifi ve sade bir api modeli ile karşımıza çıkıyor.

Minimal Apiler gene aynı HTTP web servis mantığı ile farklı http requestleri alıp geriye bir response döndürmesidir. Bunun içinde MapGet, MapPost gibi metotlar kullanılır.

Minimal Api Kullanımı

Minimal Api‘nin kullanımı sytanxı aşağıdaki gibidir.

Minimal api’nin en sade kullanımıdır. Get çağrısı ile birlikte ki bunu bize app.MapGet metotu sağlıyor. Bu metodun ilk parametresi ile bir endpoint belirliyoruz. Daha sonra lamba expresion ile response olarak geriye ne döndürmek istiyoruz onu tanımlıyoruz.

Minimal Api ile yaratılan API’ler sınırlı özelliklerinin olması işlevsiz olduğu anlamına gelmez. Bu API’ler .Net API’lerin birçok özelliğine sahiptir. Kullanabildiğimiz özelliklerinden bir tanesi de Dependecy Injection.

.Net core ile daha sık kullandığımız DI nesnelerini, .Net 6’dan önce startup.cs class’i içerisinde tanımlıyorduk ve bu servisleri kullanacağımız controller classlarda çağrıyorduk.

Minimal Api’de yapı biraz daha sadeleşmiş durumda, kullanacağımız servisleri program.cs içerisinde tanımladıktan sonra (.Net 6 ile birlikte startup classı kaldırıldı. Tüm configurasyon ve tanımlama işlemleri program.cs içerisinde yapılıyor.) Minimal apinin MapGet, MapPost, MapPut metotlarının delegate parametresinde tanımlamamız yeterli oluyor.

Örnek;

IOderService application içerisinde tanımladığımız DI servisimiz, lambda expression içerisinde tanımladığımız bu nesneyi minimal api parametre olarak görmez yani sizin post requestiniz bu nesneyi sizden beklemez. Application ayağa kaldığında bunun bir implementasyon olduğunu anlar. Bu şekilde kolaylıkla kullanacağımız servisi metot içerisinde implemente etmiş olduk.

Yorum Yap

Yorum Yap