ASP.NET MVC學習系列(一)-WebAPI初探

文章轉載:http://www.cnblogs.com/babycool/p/3861277.html,用於學習和記錄。javascript

  因爲即將要接手的新項目計劃用ASP.NET MVC3來開發,因此最近一段時間一直在看相關的書或文章。由於以前在大學裏也曾學習過MVC2開發,也作過幾個簡單的MVC2的小型測試項目,不過在後來工做之後主要仍是開發WebForm的項目,因此MVC的東西也就逐漸的淡忘了。html

  通過這一段時間的系統學習,真的以爲MVC3相比於以前的MVC2還有WebForm來講,確實有一種讓人慾罷不能爽歪歪的感受。特別是Razor語法、Linq表達式等的結合運用。java

  爲了將學習過程當中遇到的一些值得留意的問題和知識點進行一個很好地整理,因此打算把對MVC的學習過程整理成一個文章系列,同時也但願能幫助那些初學ASP.NET MVC的童鞋們。可能文章的風格不會像其餘文章那樣講的很深,主要仍是經過實例來表達吧。因爲本身也是初學,文章中不免有錯誤,也但願各位高手可以多多指教,你們共同窗習。程序員

  好了,廢話很少說,進入正題。web

  我的以爲在MVC中,路由規則算是比較重要的一點。記得以前曾看過dudu站長的一篇文章 HttpClient + ASP.NET Web API, WCF以外的另外一個選擇 ,對於用慣了「html+ajax+通常處理程序」 來開發項目的我來講,以爲這應該算是另外一種更加高端的處理數據請求的方式吧,因此,今天咱們就從這種「精簡版的WebAPI」 開始提及。ajax

 

  首先,先建立一個「ASP.NET 空Web應用程序」 :api

  而後添加對 「System.Web.Http」 和 「System.Web.Http.WebHost」 的引用:瀏覽器

 

  再添加對「System.Net.Http」 的引用:學習

 

  因爲須要用到對Json數據的處理,因此還要添加對 「Newtonsoft.Json」 的引用。測試

這裏須要注意一下:

若是開始不添加對「Newtonsoft.Json」的引用,在項目運行時就會報錯,具體報錯緣由稍後再說。

 

  對四個類庫的引用:

 

  而後新建一個類,用於註冊默認路由映射,這裏類名爲 WebAPIConfig :

  添加Global.asax文件,在 Application_Start 方法中 初始化路由映射:

        protected void Application_Start(object sender, EventArgs e) { //在應用程序啓動時註冊路由映射  WebAPIConfig.Register(GlobalConfiguration.Configuration); }

  記得引入命名空間:

using System.Web.Http;

  注意:

上面咱們提到,若是開始時不引用 「Newtonsoft.Json」,那麼在運行時 註冊路由映射這裏就會報錯:

 

 建立名爲Controller的文件夾,而後添加一個類且類名以 Controller結尾,這裏爲UserController 。讓這個類繼承自 ApiController 基類:

  建立名爲Model的文件夾用來存放實體類,添加Users類:

  在 UserController 類中,添加一個 GetUser() 方法,模擬一些數據:

複製代碼
//引入命名空間 using System.Web.Http; using X_1_FirstWebAPI.Model; namespace X_1_FirstWebAPI.Controller { public class UserController : ApiController { public List<Users> GetUser() { var userList = new List<Users> { new Users{ Id=1,UName="張三",UAge=12,UAddress="海淀區"}, new Users{Id=2,UName="李四",UAge=23,UAddress="昌平區"}, new Users{Id=3,UName="王五",UAge=34,UAddress="朝陽區"} }; var temp = (from u in userList select u).ToList(); return temp; } } }
複製代碼

 

  咱們以前添加的路由規則爲 "api/{controller}/{action}/{id}" ,因此,咱們在瀏覽器中訪問數據的url爲 http://localhost:****/api/controllerName/actionName  的形式,在這裏便是 api/user/getuser :

  OK,到這裏,精簡版的WebAPI項目就完成了,這個應該對於大部分.NET程序員來講理解起來是很簡單的。

那下一篇文章咱們就深刻地來聊一聊如何調用WebAPI請求後臺數據吧!

相關文章
相關標籤/搜索