İlginizi Çekebilir
  1. Ana Sayfa
  2. ASP.Net
  3. Kavramlarla ASP.Net WEB API Nedir ? – Web API Oluşturma Bölüm 4

Kavramlarla ASP.Net WEB API Nedir ? – Web API Oluşturma Bölüm 4

1

Web yazı serimizin önceki bölümlerinde web servislere genel bir bakış yapmış, konusunda değinmiş ve Web API yapısını incelemiştik. Bu bölümde Visual Studio ortamında ’ lerin nasıl oluşturulduğuna değineceğiz.

Web API Nasıl Oluşturulur?

Öncelikle Visual Studio (version olarak en az 2013 olmalı) platformunda Dosya menüsünden her zaman yaptığımız gibi yeni bir proje oluştur adımına gelmeliyiz. Yeni proje oluştururken aşina olduğumuz bu menüde gelen pencerede sol taraftan C# kısmını genişleterek ASP.Net Web uygulamasını seçerek devam ettiğimizde resim-1’den de görüleceği gibi Asp.Net üzerinde ne tür bir çalışma düzeni istediğimizi gösteren pencere gelecektir. Normal web programcılığı üzerine geliştirme yaparken Asp.Net web forms veya MVC seçtiğimiz bu bölümde bu sefer Web API çalışma düzenini seçerek projeyi başlatmalıyız.

Resim-1

Bu şekilde yeni bir Web API projesi başlattığımızda MVC ile Web API projesi oluşturmuş oluruz ve Solution Explorer penceresine göz attığınızda hem MVC hem de Web API ile ilgili dosya ve klasörleri görebilirsiniz. Bu şekilde geliştirme yapmak yerine boş bir Web projesi başlatıp daha sonra Web API referanslarını projeye ekleyerek de Web API uygulamaları geliştirebiliriz. Bunu için Resim-1’de yer alan penceredeyken Empty şablonu seçilir ve proje oluşturulur. Herhangi bir referans olmadığı için Solution Explorer penceresinde proje adına sağ tıklanarak Nuget yöneticisinden Microsoft Asp.Net Web API paketi yüklenir.

WEB API ile gerçekleştireceğimiz yalın örnekte veriler üzerinde işlem yaparken veri tabanı ile ilgili tüm özellikler dışarıya açık bir şekilde oluşturulmamaktadır. WEB API kullanılan bir projede de tüm veri tabanı bilgileri doğrudan erişilebilir olması API kullanma mantığına da çok yakın bir kavram olmadığı için doğrudan entity dışarıya açılmaz bunun yerine yalnızca dışarıya hizmet verecek olan bir entity oluşturmak yerinde bir hareket olacaktır. Ayrıca bu mantık ile kurgulanmayan bir projede WEB API çalıştırıldığı zaman hata vermesi muhtemel olacaktır. Bu yüzden öncelikle dışarıya açacağımız entity yapımızı oluşturalım.

Resim-2

WEB API yapı taşlarından birisi olan Route mekanizması App_Start dizini altında yer almaktadır. Örneğimizi klasik bir crud işleminde listeleme ve ekleme metotları üzerinden inceleyeceğiz.

Route şablonu aşağıdaki gibi olmalıdır.

Resim-3

Örneklendirdiğimiz API uygulamasında dışarıya hizmet edecek olan metotları Api Controller dan türettiğimiz Öğrenci isimli Controller dosyasında kodlayalım. Örneğimizi öğrenci bilgileri üzerinden kurgulayalım. WEB API Resim-4’deki metodun POST mu yoksa GET mi olduğunu bir şekilde algılamak durumundadır. Geliştiriciler olarak şöyle bir bakınca GET olduğu veya post işlemi var diye POST olduğu hakkında görüşler belirtiyor olsak da bundan API’nin de haberi olmalıdır. Bunu belirlemenin en kolay bilindik yolu ise klasik MVC bilgilerimizden hatırlayacağımız üzere HttpPost veya HttpGet öz niteliği ile metodu işaretlemek olacaktır.

Resim-4

localhost:portNo/api/öğrenci/GetOgrenciler yolunu takip ettiğimizde proje çalışacak ve response sonucunda dönen veri XML olarak görüntülenecektir.

Resim-5

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://social.msdn.microsoft.com/Forums/tr-TR/home

TAGs: asp.net, asp.net web servisasp.net web API, API, , , Wcf servis, Thread, , , , Task.Factory, Paralel Programlama, , ,

Yorum Yap

Yazar Hakkında

Bilgisayar Mühendisliği Doktora programında öğrenciliğim devam etmektedir. Bir Vakıf üniversitesinde 2016 yılı itibariyle Bilgisayar Mühendisi 2020 yılı itibariyle ise Ofis Yöneticisi mühendis olarak çalışmaktayım.  Başlıca uzmanlık alanlarım arasında Asp.Net Web Forms, Asp.Net MVC, .Net Core, C# ve SQL Server gelmektedir. Bunların yanı sıra iş hayatımda sistem ve siber güvenlik konularında da çalışmalarım devam etmektedir. Çeşitli AB destek projelerinde yazılım sorumlusu olarak görev yapıyor ve çalışmalarımı Secure Design Pattern, Yazılım Güvenliği, Siber Güvenlik, Bilgi Güvenliği konularında sürdürüyorum. Asp.net ile Proje Geliştirme ve Bilgisayar Mühendisliğine Giriş isimli kitapların yazarıyım.

Yorum Yap