Web Api Controller Nedir ve Nasıl Kullanılmaktadır ?

Web Api proje geliştirme yazı serisi kapsamında bu yazıda Web Api Controller nedir ve nasıl kullanılmaktadır konusunu ele alacağız.

Web Api Controller Nedir ?

Web Api denetleyici yapısı gereği Mvc projelerindeki controllerlara benzemektedir. Web Api denetleyici gelen HTTP isteklerini karşılar ve istemciye cevap döndürmektedir.

Web Api denetleyici genelde projenin Controllers klasörü altında bulunan sınıf tanımlarıdır. Kimisi bu dosyaları başka klasörler altına koyuyor olsalar da ben genelde Controllers klasörü altında bu sınıfları oluşturmayı tercih ediyorum.

Oluşturulan sınıfın adı Controller kelimesi ile bitmek zorundadır aksi durumda compiler bu dosyanın bir Controller olduğunu anlayamaz (Tıpkı Mvc projelerinde olduğu gibi).

Oluşturulan Controller sınıfları System.Web.Http.ApiController sınıfından türemesi gerekmektedir. Bu sınıfa ait fonksiyonlar da sınıf içerisinde tanımlanmalıdır.

Sınıf içerisinde tanımlanan metotlar birer action metod olarak isimlendirilmektedir. Bu action metotlarının isimleri HTTP verbsleri ile örtüşmelidir (Get, Post, Put, Delete…).

Web Api Controllerına yapılan isteğin türüne göre HTTP verblerinden uygun olan fonksiyonun içeriği çalışacaktır.

Web Api Denetleyici Oluşturmak

Web Api Controller’ı projeye ait istediğiniz klasörde oluşturabilirsiniz ancak önerilen Controller klasörü altında oluşturmanızdır. Oluşturmak istediğiniz yerde sağ tuş > Ekle > Denetleyici > Web API 2 Denetleyici – Boş diyerek Web Api denetleyici oluşturabilirsiniz. Unutmayın oluşturduğunuz sınıfın adı Controller kelimesi ile bitmelidir.

 public class CariController : ApiController
    {
        [HttpGet]
        public string Cariler()
        {
            return "EGE";
        }
    }

Kod bloğunda ben Cari adında bir Controller oluşturdum ve bu denetleyici üzerine de Cariler adında bir fonksiyon tanımladım. HttpGet tipinde bir fonksiyon olduğu için herhangi bir program kullanmadan sadece browser üzerinden Cari denetleyicisine ait adrese ulaşarak fonksiyonun return etmiş olduğu değeri bir XML dosyası içerisine görebiliyorum. Siz dilerseniz fonksiyonun içerisinde bir liste return edip (fonksiyonun return tipini değiştirmeyi unutmayın) bunu JSON şeklinde de dönebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir