Coding 之路,不由分說 .Net,MVC,jQuery

25二月/120

ASP.Net MVC4 - Web Api 初體驗

Google PageRank查詢

前言

前陣子微軟正式推出了 ASP.Net  MVC4 Beta ,其中有一項就是 Web Api ,從字面上看來就是利用 Web 來提供 Api,也就是我們可以使用 Web Api 來快速實作 Web Api 的服務來提供使用者存取資料,這邊就來看他有啥特殊的地方囉!

說明

開新專案

不多說就來開一個專案吧!選擇 ASp.Net MVc4 專案可以出現圖下面的畫面,我們就選擇 Web Api 樣板吧!

▲Asp.net MVc4 專案樣板

首先我們先來看 Global.asax 有什麼不同,可以發現多了一組 Route 就是給 Web Api 用的,但是我們也可以發現為什麼參數只有 {controller} 和 {id} ,那 {action} 呢?

Http 請求方法

這就要稍微提到一些概念性的知識,一般我們在使用 Http 傳輸資料的時候,根據 Http/1.1定義有 8 種傳輸方法1,其中最常用到的就是:

  • GET
    向特定的資源發出請求來取得資料。比如一般的網頁頁面的請求。
  • POST
    向特定資訊傳送資訊。比如網頁的表單送出資料。
  • PUT
    向特定資訊傳送新增資料的內容。這一項常被 POST 替代。
  • DELETE
    向特定資源提出刪除的請求。 這一項也常被 POST 替代。

而為什麼 Api 的 Route 沒有像以前在寫 Mvc 的時候有 Action 就是在這邊,因為它對應到這四個 Http 的請求方法,所以我們在 Route 就沒有 Action 了。

這時候再來看預設的樣板產生的 ValuesController 的內容,就可以一目瞭然了。

可以發現方法的名稱剛好就是對應到上述的四個方法囉。

修改方法名稱

這時候就會有另一個疑問產生啦!那如果我們想改方法的名稱可以嗎?答案是可以的,但是還是得依據那四個請求方法的名稱,也就是說只要是跟 Get 有相關的方法,就一定要用 Get 來開頭,比如說預設的方法是取得所有的資料,所以我們就把它改成 GetAll 這樣之後我們維護的時候就可以很清楚的知道他是取得所有的資料了。

使用 Api

要使用 Web Api 可以有各種方式,這邊就簡單介紹使用 jQuery 來呼叫 Api 吧!

首先我們先在頁面上放好基本的元素:

也放了兩個按鈕,最後呈現的結果如下:

▲範例畫面

再來就是 jQuery 的程式囉!

接下來就是測試囉,可以看到根據要求的方法不一樣,我們取得資料的不一樣:

Json

xml

至於該如何使用別的請求方法呢?很簡單,就是修改上述 jQuery 程式的參數 type 就好囉!

結論

花點了時間介紹基本的 Web Api ,但是 Web Api 還有許多的東西可以介紹,此外 Web Api 也支援 oData 的請求參數,這部份有興趣的讀者可以先參考官方文件的介紹囉!

參考資料

ASP.Net MVC4 Web-Api

Http 傳輸協定

oData

  1. OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT []
回覆 (0) 引用 (0)

還沒有回覆。


Leave a comment

目前沒有人引用這篇文章。