Web API — Convention Based Routing

Murat Süzen
May 15, 2018 · 2 min read

Merhabalar bu yazımda Asp.NET Web API kullanımında Convention Based Routing konusunu inceleyeceğim. Yeni bir Web API projesini WEB API seçeneğini işaretleyip oluşturuyorum. App_Start klasörü içerisinde WebApiConfig.cs dosyasındaki default route ayarlarına bakabiliriz.

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services

// Web API routes
config.MapHttpAttributeRoutes();

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

Kod bloğunda gördüğümüz gibi domainden sonra api/{controller}/{id} tanımlamasıya projeyi çalıştırdığımızda verileri alabiliriz.

ValueController üzerinde değişiklik yapıp bir List ekliyorum. Put,Post,Delete metotlarını ekliyorum.

public class ValuesController : ApiController
{
static List<string> itemList = new List<string>()
{
"Value0","Value1","Value2"
};

// GET api/values
public IEnumerable<string> Get()
{
return itemList;
}

// GET api/values/5
public string Get(int id)
{
return itemList[id];
}

// POST api/values
public void Post([FromBody]string value)
{
itemList.Add(value);
}

// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
itemList[id] = value;
}

// DELETE api/values/5
public void Delete(int id)
{
itemList.RemoveAt(id);
}
}

Postman ile ValuesController adresine Get metodunu çağırdığımda statik list içerisine eklediğimiz değerlerin listesini görebiliyoruz.

Get metoduna id parametresi gönderiyoruz ve gönderdeğimiz index değerine karşılık gelen değeri görebiliriz.

Post metoduna new item ekliyoruz.

Get metoduyla listeyi tekrardan çektiğimizde yeni eklediğimiz değeri görebiliriz.

Put metoduyla index değeri 3 olan değeri update item olarak değiştiriyorum.

Get metoduyla değişiklik sonrasında listeyi tekrar yenileyip update item değerini görebiliriz.

Delete metoduyla indexi 3 olan değeri siliyoruz.

Silme işleminden sonra listeyi yenileyebiliriz.

Bu şekilde geleneksel rotalama (Convention Based Routing) konusunu incelemiş olduk. Bir sonraki makalede görüşmek üzere.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade