標籤:
學習ASP.NET MVC一年多來,現在該學學Web Api了。API與ASP.NET MVC的Controller差不多。前者只是返回資料序列化和發送給用戶端; 後者返回View或Render View。
當你在專案中建立第一個Web Api時,它會自動產生一個文檔和修改了web.config。如我們先在專案下添加一個Apis目錄,是用來存放api控制器的。
建立完成之後,它會顯示一個txt文檔:
這個readme.txt是告訴你需要修改Globel.asax文檔,步驟為1,2,3:
其實它還自動產生下面這個文檔,WebApiConfig.cs並放在App_Start目錄之下。
另外你會發現web.config還被修改,它自動添加了一段:
下面Insus.NET建立一個model:
建立一個Entity,實體即是資料集散地,資料來源於文檔,資料庫,xml等:
接下來,我們可以完善Api了,它有繼承ApiController類。
現在我們測試一下,寫好的Web Api是否能正常運行,在瀏覽器的地址欄上輸入:
404錯誤,是什麼情況? 經查閱資料,原來Global.asax配置有問題。因為建立第一個api時,它自動產生的WebApiConfig.cs,然後需要手動註冊於Application_Start()方法內。
但是
RouteConfig.RegisterRoutes(RouteTable.Routes);
和
GlobalConfiguration.Configure(WebApiConfig.Register);
是有序次關係的。也就是說,asp.net mvc是先執行GlobalConfiguration.Configure(WebApiConfig.Register)之後,再執行RouteConfig.RegisterRoutes(RouteTable.Routes)。我們在手動註冊時,就需要注意到這點。它們正確的配置如下:
如果能正常訪問,它應該會顯示下載狀態:
一切準備就緒,我們建立一個.html網頁,使用javascript或理jQuery去讀取api的資料。
在專案中,新一個Orders目錄,是用來存放一切與order相關.html檔案。
還有jQuery代碼沒寫呢,沒有什麼問題,相信不是很難,因為以前有練習無數次了:
示範:
ASP.NET MVC的Web Api的實練