zoukankan      html  css  js  c++  java
  • 怎样操作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的功能,请关注后续....

  • 相关阅读:
    iOS--不重复随机数srand(time(0))
    iOS--kvo&kvc的使用
    iOS-- 添加真机测试
    iOS-- 使用xib实现自动布局
    iOS8-- Size Class的使用
    iOS--排序算法集合
    iOS--使用MD5加密
    iOS--判断一个字符串是不是手机号
    iOS--ASIHTTPRequest类库的添加和使用
    Python入门
  • 原文地址:https://www.cnblogs.com/insus/p/5670401.html
Copyright © 2011-2022 走看看