- Extensible Framework for building HTTP based endpoints(PUT,GET,DELETE,POST HTTP de kullanıldığına göre, HTTP based olması normal )
- You can use alone, with MVC4, or you can use with ASP.NET Forms
- Available via NuGet (MVC4 indirmene gerek yok)
NuGet ile WebAPI yüklemek istediğimizde
microsoft.web.infrastructure.dll
Newtonsoft.Json.dll
system.net.http.formatting.dll
system.web.http.dll
system.web.http.webHost.dll
yüklenmişti.
"http://localhost:27740/HelloApi" url adresi çağırılıyor (GET methoduyla)
Global.asax uygulama başlatıldığında diyor ki; gelen her şeyi Controller'ına gönder.
Gelen: "GET" methodu ile "/HelloApi"
Gideceği yer: "/HelloApiController" daki "Get()" methodu
Default olarak JSON dönüyor
"api/" : URL adresi api ile başlıyorsa,
{controller} : Karşılayacak Controller sınıfı (ApiController dan türemiş) işaret eder,
{action} : Hangi HTTP metoduyla geldiğini (GET,POST, PUT,....),
Bu durumda HTTP metodu talep edilen URL içinde olmak zorunda !
- The team decided to make it independent so that WebAPI will not have ASP.NET class dependencies and it can be hosted in console or a Windows service as self-hosting.
- * the actions are dispatched by default based on the HTTP request(GET,POST,PUTE,DELETE e göre hareket edilir).However there is a flexibility to override it so that the WebAPI will use the action name to select the action method within the ApiController().
Kaynaklar:
http://www.codeproject.com/Articles/549152/Introduction-to-ASP-NET-Web-API