ASP .NET CORE 5.0 Web API Türkçe Giriş Seviye -5 Kendi API’miz
Merhabalar bu bölümde ilk API’mizi yazacağız. Öncelikle nasıl bir API yazacağımıza bakalım. Aynı zamanda projeye ait dosyalara github hesabım üzerinden buradan ulaşabilirsiniz.
Örnek olması için bir öğrencimiz , öğretim üyemiz ve derslerimiz olsun ve API’miz üzerinden bu bilgilere ulaşmaya çalışalım. .Net Core üzerinde MVC ile çalışacağımız için öncelikle mimarimizi bir gözden geçirelim.
Mimari
Burada açıkça gözüktüğü üzere modellerimiz Ogrenci , OgretimUyesi ve Ders olacaktır. Tabi ki daha kullanılabilir bir uygulama için Ogrenci ve OgretimUyesi modellerimizi bir Kisi sınıfından kalıtım yoluyla olusturabiliriz.
Bu durumda model mimarimiz basitçe şu şekilde olacak:
Aynı zamanda bu modellere ait controllerlarımız: OgrenciController OgretimUyesiController ve DersController olacaktır.
Kodlama
O zaman bu sınıflarımızı da kodlamaya başlayalım. Öncelikle sağ menüde bulunan solution explorer’dan(çözüm gezgini) projemizin ismine sağ tıklayıp ekle -> yeni klasör diyerek bir models klasörü oluşturalım daha sonra klasöre sağ tıklayıp ekle -> sınıf diyerek içerisine de Entity Kisi Ogrenci OgretimUyesi ve Ders isimli 5 sınıf oluşturalım daha sonra WeatherForecast isimli dosyaları silelim.
Sonuç olarak proje dosyalarımızın yukarıdaki gibi görünmesi gerekiyor. Şimdi bu sınıflarımızın içerisini dolduralım.
Entity.cs: Entity sınıfını , id’si olan nesnelerimizde kullanacağımız için sadece id özelliği bulunacaktır. Burada önemli olan nokta oluşturduğumuz her özellik için getter — setter fonksiyonlarının bulunması gerekiyor.
Ders.cs: Entity kalıtımını unutmadan ders özelliklerimizi kodluyoruz.
Kisi.cs: Entity kalıtımını unutmadan kisi özelliklerimizi kodluyoruz.
Ogrenci.cs: Kisi kalıtımını unutmadan ogrenci özelliklerimizi kodluyoruz.
OgretimUyesi.cs: Kisi kalıtımını unutmadan ogretim uyesi özelliklerimizi kodluyoruz.
API’mize Controller Ekleme
Modellerimizi kodlama işlemini tamamladıktan sonra sırada Controller sınıflarımızı oluşturma işlemi var. Projemizde bulunan controller klasörü içerisine sağ tık -> ekle deyip denetleyici (controller) ‘ı seçelim açılan pencerede sol menüden API seçeneğine tıklayalım ve listeden API Denetleyicisi-Boş seçeneğini seçerek ekle diyelim.
Hemen ardından açılan pencerede API Denetleyicisi-Boş seçeneği seçili gelecektir controller’ımıza ismini vererek ekleme işlemini tamamlayalım.
Bu şekilde controller klasörümüzün içerisine DersController OgrenciController ve OgretimUyesiController isimli controllerlarımızı ekleyelim. Bittiğinde proje dosyalarımız şu şekilde görünmelidir:
Şimdi de ilk controllerımızı oluşturmaya başlayalım
DersController.cs: Nasıl Çalışır? bölümünde route ve apicontroller gibi attribute’lerden zaten bahsettiğimiz için burada doğrudan kodlama kısmına geçeceğim. Öncelikle bilgileri göndereceğimiz GET methoduna karşılık bir fonksiyon yazalım ve HttpGET özelliğini aktifleştirelim. Daha sonra henüz bir veritabanı bağlantısı oluşturmadığımız için gösterilecek veriyi el ile ekleyelim ve verimizi dönderelim.
Burada önemli olan bir nokta controller ve models klasörümüz farklı olduğu için sınıfımız modellerimizi görmeyebilir bu yüzden yeşil işaretlediğim using webAPI.Models kodunu eklememiz gerekebilir.
Şimdi projemizi çalıştırarak yazdığımız kodu deneyelim.
Swagger üzerinden denediğimizde gördüğümüz üzere kodumuz çalışıyor şimdi aynısını diğer controllerlarımız için de gerçekleştirelim.
OgrenciController.cs:
OgretimUyesiController.cs:
Aynı şekilde bu controllerlarımızı da test ettiğimizde istediğimiz sonucu verdiğini göreceğiz.
Sonuç
İlk API mizi aslında burada yazmış olduk. Ancak tabi ki bir API veritabanı üzerinde çalışır. Biz de bir sonraki bölümümüzde el ile veri oluşturmak yerine api mizi oluşturacağımız veritabanına bağlamayı öğreneceğiz , kalın sağlıcakla.
Bir sonraki bölüme buradan ulaşabilirsiniz.