怎樣操作WebAPI接口(顯示數據)


就在去年Insus.NET已經寫好的一個WebAPI項目,並且發布在IIS中。參考《創建與使用Web APIhttp://www.cnblogs.com/insus/p/5019088.html

從上面的鏈接可以查看到那篇實例。

今天Insus.NET就另開一個ASP.NET MVC項目,去操作這個Web API接口。

在控制器中,創建一個Action:

 

接下面創建視圖:

 

獲取數據是使用jQuery的Ajax來實現,方便與快捷,即是上圖標記#3的jQuery代碼程序:

 

上圖中藍色箭頭的url即是Web API的url路徑。

運行,看看獲取數據庫的結果:

 
正常來說,到上面為止算是演示完成,但是Insus.NET的想法,在ASP.NET MVC視圖顯示數據不太想使用jQuery來實現,而是想在控制中,去把數據傳入視圖中,當視圖完成時,數據也顯示完成。

在新項目中,創建一個model,跟Web API的model一樣:

 

寫一個方法,使作HttpClient類來處理Web API接口返回的數據:

 

 public static IEnumerable<T> Get<T>(string url)
        {
            IEnumerable<T> model = null;

            var client = new HttpClient();
            var task = client.GetAsync(url)
              .ContinueWith((taskwithresponse) =>
              {
                  var response = taskwithresponse.Result;
                  var jsonString = response.Content.ReadAsStringAsync();
                  jsonString.Wait();

                  var json = jsonString
                              .Result
                              .TrimStart('\"')
                              .TrimEnd('\"')
                              .Replace("\\", "");

                  model = json.ToObject<IEnumerable<T>>();

              });
            task.Wait();
            return model;
        }
Source Code


創建視圖操作:



接下來,看看視圖是怎寫的,已經完全沒有jQuery代碼了:

 

運行的效果,當然跟上面jQuery獲取運行的效果一樣!!!

如果只想獲取某一筆記錄,不管是使用jQuery,還是HttpClient,只是對API接口的url稍修改一下即可。如想獲取id為4的記錄,那嘗試使用下面url地址:
"http://localhost:9001/api/size/4"


呵呵,有關操作Web API的接口最基本的Post,Put,Delete的功能,請關注后續....

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM