ASP.NET MVC4 WEB API简单应用

ASP.NET Web API是在ASP.NET MVC4.0发布的,可以提供给浏览器,移动设备,WINDOWS服务等访问的Http服务。可以提供数据CRUD(Create,Retrive,Read,Update)操作,相对于WebService、WCF较简单轻量。Web API侧重于数据(资源)操作,WebService和WCF侧重于业务逻辑(功能),如果涉及到复杂的业务操作,不推荐使用Web API。

这里给出一个基础的Web API应用程序,首先必须有ASP.NET MVC4。

  1. 创建MVC4应用程序,创建成功之后和普通的MVC框架无异


  2. 添加控制器-->空的API控制器,
    创建之后发现和MVC控制器不同之处在与API继承自ApiController,而MVC控制器继承自Controller。
    在Global里面多了一个WebApiConfig.Register(GlobalConfiguration.Configuration)的路由注册。


  3. 修改Web API路由,这里默认是没有“action”的,这种情况下API默认的操作只有List<T>GET(),T GET(int id),PUT(T object),POST(),DELETE()操作。可以根据提交时的TYPE自动路由到对应的控制器,也就是说这几个Action都是死的。如果需要自定义Action名称,需要在这里加上“action”。

  4. 编写Controller,这里需要注意一点的是不标记特性(HttpGet,HttpPost),默认是HttpPost的
        public class WebApiController : ApiController
        {
            public IList<StudentVo> Get()
            {
                return ServiceFactory.StudentService.GetStudents();
            }
    
            [HttpGet]
            public void Delete(int id)
            {
                ServiceFactory.StudentService.DeleteStudent(id);
            }
    
            public int Add()
            {
                return ServiceFactory.StudentService.SetStudent(
                    new StudentVo
                    {
                        Address = "杭州",
                        Id = 0,
                        IsChinese = true,
                        Name = "wangqi",
                        Number = "30801234",
                        Phone = "1508861xxxx",
                        Sex = 1
                    });
            }
    
            public int Modify(int id)
            {
                return ServiceFactory.StudentService.SetStudent(
                    new StudentVo
                    {
                        Address = "杭州" + id,
                        Id = id,
                        IsChinese = true,
                        Name = "wangqi",
                        Number = "30801234",
                        Phone = "1508861xxxx",
                        Sex = 1
                    });
            }
        }
  5. 编译发布web api,这里我是发布到iis上
  6. 程序调用,这里返回xml或者json数据,可以反序列化成对象来使用
            static void Main(string[] args)
            {
                var request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:7066/api/WebAPi");
                request.Method = "GET";
                request.Timeout = 30000;
    
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        var data = response.GetResponseStream();
                    }
                }
            }
  7. 浏览器调用






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值