Web Api

Web Api Nedir? Nerelerde Kullanılır? Örnek Projeler ile Anlatım


Merhaba bu yazımda sizlere Web Api kavramını, kullanım alanlarını, bir Web Api’yi nasıl oluşturabileceğinizi ve kullanabileceğinizi elimden geldiğince anlatmaya çalışacağım. Web Api kavramına geçmeden önce API kavramına değinmekte fayda var.

Api Nedir?


Web Api

Api kavramının açılımı Aplication Programming Interface’dir. Türkçe karşılığı uygulama geliştirme arayüzü anlamına gelmektedir. Kişinin elindeki dataları dış dünyaya açarak diğer uygulama veya platformların kullanımına sunmak için belirli kurallar çerçevesinde tanımlamalar yaptığı interface yani arayüzdür.

Web Api Nedir?


Web Api

Web Api internet bağlantısı olan cihazlar arasında haberleşmenin sağlanması amacıyla oluşturulmuş yöntemlerin en yenilerinden biridir.

Farklı türde çok sayıdaki client(akıllı telefon, web tarayıcıları, tabletler, bilgisayarlar vs.) tarafından consume edilebilen HTTP protokolü üzerinden haberleşebilen servisler oluşturmak için kullanılan bir framework olarak çalışmaktadır. Asp .Net MVC ile routing, controllers, action results, filter, model binders gibi ortak özelliklere sahip olduklarından bazı benzerlikler göstermektedir lakin MVC framework’ün bir parçası değildir. Asp .Net Web Api Core Asp .Net in bir parçasıdır ve MVC veya diğer web application türleri ile birlikte kullanılabilir. Ayrıca stand – alone  Web Services application olarakta kullanılabilir.

Web Api Hangi Durumda Kullanılmalıdır?


Web Api

HTTP’nin tüm özelliklerini (URI, Request/Response headers, caching yani önbelleğe alma, versioning, çeşitli içerik formatları gibi özellikler)  kullanabilen, HTTP üzerinde kaynak odaklı servisler oluşturmak istediğinizde Web Api yöntemini kullanmanız daha sağlıklıdır.

Servislerinizi tarayıcılar, cep telefonları(iphone ve tabletler de dahil olmak üzere) çok çeşitli istemcilere sunmak istediğinizde Web Api yöntemini kullanmanız daha uygun olur.

Web Api Genel Özellikleri?


Web Api
  • Web Api yöntemi HTTP servislerini kolay ve basit bir hale getirmek için oluşturulmuş diğerlerine göre yeni bir yöntemdir.

  • Web Api açık kaynak kodlu bir yazılım olmakla beraber .Net framework üzerinden REST-ful servisler oluşturmak için ideal bir platformdur.

  • WCF Rest servisinden farklı olarak HTTP protokolünün tüm özelliklerini(URI, Request/Response headers, caching yani önbelleğe alma, versioning, çeşitli içerik formatları gibi özellikler) kullanabilir.

  • Ayrıca routing, controllers, action results, filter, model binders, IOC container veya dependency injections, projenizi daha basit ve sağlam kılan Unit Test gibi MVC özelliklerini destekler.

  • Uygulama üzerinde veya IIS üzerinde host edilip yayınlanabilir.

  • Light Weight Mimariler ve akıllı telefonlar gibi sınırlı bant genişliğine sahip olan cihazlar için daha uygun bir yöntemdir.

  • Response değerleri WebApi MediaTypeFormatter aracılığı ile formatlanır, bu formatlar JSON, XML formatlarında olabilmesinin yanı sıra client’ın ekleyeceği herhangi bir formatta da olabilir.

Web Api, WCF / WCF Rest / Web Servis Kavramları nelerdir? Bunlar aralarındaki farklar nelerdir? Sorularının cevapları hakkında bilgi için linke tıklayınız

Web Servis, WCF ve Web Api Nedir? Kullanım Alanları ve Aralarındaki Farklar Nelerdir?

Şu ana kadar Web Api kavramını açıkladık şimdi bir örnek proje ile web api oluşturarak bu kavramı pekiştirelim.

Asp .Net Web Api Oluşturmak


İlk olarak  Visual Studio IDE’sini açıyoruz, ve sol üstte bulunan File menü butonu üzerinde File->New->Project sırasıyla ilerliyoruz ve yeni proje oluşturma arayüzüne erişiyoruz.

Daha sonra açılan ekranda Empty seçeneğini ve alttaki checkboxlardan Web Api seçeneğini işaretleyip OK butonuna basınız. Böylelikle Boş bir Web Api projesi oluşturmuş oluruz.

Oluşan Web Api de sağdaki Solution Explorer sekmesindeki Model klasörünün altında KisiBilgileri isminde bir class oluşturup resimde görüldüğü gibi Ad, Soyad ve AktifMi propertieslerini ekleriz.

Şimdi de sağdaki Solution Explorer sekmesindeki Controller klasörüne sağ tıklayarak Add Controller deriz. Ve Kisi isimli bir controller oluştururuz.

Oluşan KisiController sayfamızın içine resimdeki gibi List<KisiBilgileri> tipinde değer döndüren [HttpGet] özelliğinde olan GetAllData isimli metod bir web metod ekleriz.

Web Api’miz hazır. Şimdi web apimizi derleyelim açılan tarayıcı sayfasında HTTP Error 403.14 – Forbidden hatası alacaksınız sorun yok. Açılan sayfa URL değerinde “localhost:58141” gibi bir değer olacaktır bu değerin yanına “/api/Kisi” yazarak tekrar tarayıcınızda tarattığınızda verilerinizin geldiğini göreceksiniz.

Eğer postman gibi bir uygulama kullanmak isterseniz de get türünde mevcut URL değerimizi bir request ederek çalıştırırsanız resimdeki gibi değerlerinizi alabilirsiniz.

Şimdi ise bu Web Api’mizi bir C# Form uygulamasından çağıralım.

Web Api Kullanımı Örneği?


Solution Explorer üzerinde ana proje olan Solution’a sağ tıklayarak Add – New Project diyerek bir visual studio form uygulaması açarız.

açılan arayüz ekranımıza bir richedtextbox ekleriz ve richedtextbox iteminin dock özelliğini fill olarak değiştiririz. Adını ise rtbGetData olarak değiştiririz.

Üstte bulunan Project sekmesindeManageNugetPackage butonuna basarız ve açılan sayfada browse kısmından Newtonsoft.Json ve Restsharp kütüphanelerimizi projemize ekleriz. Daha sonra formumuzun load metodunu açarız ve kütüphanelerimizi kullanmak için using ile çağırırız ardından resimdeki kodlarımızı load metoduna ekleriz.

Solutionun başlangıç projesi olarak form projemizi seçeriz ve derleriz.

Gördüğünüz gibi verilerimiz Json formatında rtbGetData itemimize çıktı olarak geldi.

Yazıda anlattığım projenin kaynak kodlarına erişim için linke tıklayınız


https://github.com/yusufenesProject/WebApiExample

Diğer Web Api Kullanımı projeleri için alttaki linklere tıklayabilirsiniz


Microsoft yetkilileri Web Api sunumlarından birisinde “Biz daha iyisini yapana kadar en iyisi bu” demişti, umarım bu yazı sizin için faydalı olmuştur. Sonraki yazımızda görüşmek dileğiyle.


Write a Message