Bu yazımda sizlere Asp.Net Web Api 2 projesi nasıl oluşturulur ve Get metodu ile nasıl veri çekilir ondan bahsedeceğim.

İlk olarak Visual Studio 2012 de New Project dediğimizde Asp.Net Web Api 2 Empty Project seçeneği geliyor mu ona bakalım gelmiyorsa ASP.NET and Web Tools 2013.1 for Visual Studio 2012
bu linkten web tools indirip kurmamız gerekiyor. Visual Studio 2013 de Asp.Net Web Api 2 Empty Project default olarak gelmektedir.

Visual Studio muza Web Api 2 kütüphanelerini ekledikten sonra New Project -> Asp.Net Web Api 2 Empty Project seçip projeye WebApi2Project ismini veriyoruz.

Ardından sağ taraftaki menüde Solution Explorerda Global.asax dosyasını açıp Application_Start() metodu içinde

GlobalConfiguration.Configure(WebApiConfig.Register);

kod satırı yazılımı kontrol ediyoruz değilse ekliyoruz. Altına da

var appXmlType = GlobalConfiguration.Configuration
.Formatters.XmlFormatter.SupportedMediaTypes
.FirstOrDefault(t => t.MediaType == “application/xml”);

GlobalConfiguration.Configuration.Formatters
.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);


Kod satırlarını ekleyelim. Buradaki kodlar web api den bize result olarak json dönmesini sağlayacaktır. Ardından App_Start klasörü altında WebApiConfig.cs dosyasını açalım web api için gerekli routing kodlarının yazılı olduğunu göreceğiz.

Ardından Contollers klasörününe sağ tıklayıp Add -> Web Api Controller Class (v2) deyip açılan pencerede Web Api Controller adına ValuesController yazalım. Bu işlemden sonra ValuesController clasıı içine aşağıdaki kodlar otomatik olarak gelecektir. Get metodlarının üzerine

[HttpGet] attribute unu yazalım.

public class ValuesController : ApiController
{
// GET api/
[HttpGet]
public IEnumerable Get()
{
return new string[] { "value1", "value2" };
}

// GET api//5
[HttpGet]
public string Get(int id)
{
return "value";
}
}

Kodumuzu yazdık artık projeyi çalıştırabiliriz. Proje çalıştıktan sonra
browsera

http://localhost:6624/api/values yazıp entera basalım. Parametre almayan Get metodu çalışır .Bize aşağıdaki yazdığım şekilde bir json result olarak dönecektir.

[“value1″,”value2”]

http://localhost:6624/api/values/5 yazıp entera basalım. int id parametresi alan Get metodu çalışır. Bize aşağıdaki yazdığım şekilde bir json result olarak dönecektir.

“value”