MVC4 多了什麼新東西 – Web API

image
Microsoft 在前幾天發表了 ASP.NET MVC4 Beta,長久以來 .net 在 Layout 方面都顯得較為弱勢,畢竟系統邏輯才是 Microsoft 的強項,從 ASP.NET WebPage > ASP.NET MVC > ASP.NET Web API 都一直在做著輕量化的工程,讓整個 Framework 不要去包裝太多。
Web API 這個 Framework 結合了 ASP.NET MVC 還有 WCF 的概念而成,讓 Web API 的 Service 變得更 RESTful 。也是 Microsoft 放手讓 .net developer 可以更加便利選擇 Client 端的技術,Web 的 jQuery , Extjs , Flash, iOS 的 Cocoa , Android Java , WindowsPhone Sliverlight …..

建立 Web API 專案

在安裝完 ASP.NET MVC4 Beta 之後,建立新的 ASP.NET MVC 4 Web Application
image
在選單中可以發現多了一個新的 Template – Web API
image
建立之後的檔案結構目錄依然是保持 ASP.NET MVC 的樣子,但是可以發現多了一個 ValueController ,這個就是 Web API 的重點了。
image
ValueController 裡面的程式碼,改由繼承 ApiController ,Method 名稱就直接對應 HttpMethod

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

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

// POST /api/values
public void Post(string value)
{
}

// PUT /api/values/5
public void Put(int id, string value)
{
}

// DELETE /api/values/5
public void Delete(int id)
{
}
}

另外在 Global.asax Route 也可以看到多註冊了一組

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

利用 Chrome REST Console 測試

image

image

回傳的結果

image

也支援 Xml

image


Tutorial: Your First Web API

Video: Your First Web API

Building HTTP services with ASP.NET Web API in MVC 4 Beta

Chrome 擴充功能 – REST Console

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *