Nisan 16, 2016
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
}