Bu yazımda sizlere Asp.Net Web Api projesi nasıl oluşturulur ve Get metodu ile nasıl veri çekilir ondan bahsedeceğim. İlk olarak Visual Studio 2012 de New Project -> Asp.Net Empty Web Application seçip projeye WebApiProject ismini veriyoruz.
Ardından Solution Explorerda projeye sağ tıklayarak New Item -> Global Application seçerek Global.asax dosyasını projemize oluşturuyoruz.
Globax.asax dosyası içindeki Application_Start metoduna aşağıdaki kodları ekleyelim. Buradaki kodlar web api konfigürasyonunu ve web api den bize result olarak json dönmesini sağlayacaktır. Bu kodu eklediğinizde WebApiConfig satırından hata alacaksınız. Hatayı giderip konfigürasyon ayarı yapmak için projemize sağ tıklayıp Add -> New Item -> Class ardından da Class adına WebApiConfig yazalım.
protected void Application_Start(object sender, EventArgs e)
{
WebApiConfig.Register(GlobalConfiguration.Configuration);
var appXmlType = GlobalConfiguration.Configuration
.Formatters.XmlFormatter.SupportedMediaTypes
.FirstOrDefault(t => t.MediaType == "application/xml");
GlobalConfiguration.Configuration.Formatters
.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
}
WebApiConfig classı içide aşağıdaki Register metodunu ekleyelim.
public static void Register(HttpConfiguration configuration)
{
configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
}
Ardından projeye sağ tıklayıp Add -> New Item deyip açılan pencerede Web Api Controller seçelim. Adına ValuesController diyelim.
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”