ASP.NET Web Api Notlarım Yeni Başlayanlar İçin

Arkadaşlar Merhaba ,

Asp.net web api öğrenmeye yenibaşlamışken unutmamak adına bir kaç basit ama önemli şeyi buraya kaydetmeye karar verdim .

Öncelikle sonuçlar varsayılan olarak xml şeklinde sonuç döndürüyor bunu jsona çevirmek için global.asax dosyasında Application_Start metodu aşağıdaki gibi olmalı


protected void Application_Start()
        {

            GlobalConfiguration.Configure(WebApiConfig.Register);
            //alttaki satır sayesinde sonuçlar json formatında yazdırılır.Üstteki satır otomatik gelir
            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();     
        }

Eğer Controller kısmında bir çok metod oluşturduysak ve bu metodları çalıştırmak istiyorsak WebApiConfig.cs kısmındada düzeltme yapmamız gerekiyor

            config.MapHttpAttributeRoutes();



//aslında en altta otomatik gelen kısımı kopyalayıp name kısmını değiştirip ve routeTemplate kısmında {controller} ile {id} arasına {action}'ı ekliyoruz 
// bunu yapmamızın sebebi metodları kullanabilmemiz için  yani action kısmına gelen parametreler metod ismi olacaktır. 

            config.Routes.MapHttpRoute(
                 name: "ActionApi",
                 routeTemplate: "api/{controller}/{action}/{id}",
                 defaults: new { id = RouteParameter.Optional }
                  );


//alttaki kısım otomatik gelir 
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }

Diyelimki metodumuzun adı “tumUrunleriListele()” olsun bunun için üstteki ayara göre api/tumUrunleriListele yazmamız gerekicek ancak biz api/urunler yazınca “tumUrunleriListele()” metodumuz çalışsın istiyorsak ya metodun adını yada ActionNameini değiştirmemiz gerekicektir.

       [HttpGet]
        [ActionName("urunler")]//bu satırı ekleyerek Action Name'i değiştiriyoruz.     
        public string tumUrunleriListele()
        {
           //KOD KISMINIZ
        }

Add a Comment

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