ASP.NET MVC4 WEB API简单应用

来源:互联网 发布:红警3 for mac 编辑:程序博客网 时间:2024/05/17 07:08
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. 浏览器调用






1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电压力锅排气阀漏气怎么办 win10系统上不了网怎么办 手机自拍杆坏了怎么办 车辆遭核生化打击时怎么办? 遭核生化打击时怎么办? 车辆行驶中遭核生化打击时怎么办? 硫酸气体熏到嗓子怎么办 硫酸味儿进嗓子了怎么办 吸入二氧化氯气体后怎么办 衣服84消毒 变色了怎么办 我的身份证被诈骗犯知道了怎么办 母婴店来客人少怎么办 键盘驱动被卸载了怎么办 广州 狗狗随地大小便怎么办 上海 狗狗随地大小便怎么办 服装店人流量少生意差怎么办 2018年服装店生意特别差怎么办 打印机拍的照片打出黑怎么办 租的汽车撞了怎么办 神州租车车坏了怎么办 深圳市公安局办保安员证怎么办? 老婆被车撞了后失忆了怎么办 生气引起的短暂失忆怎么办 win10系统忘记开机密码怎么办 戴尔win10密码忘了怎么办 戴尔电脑win10密码忘了怎么办 出门忘记带身份证了怎么办 一年染了7次头发怎么办 低头久了颈椎疼怎么办 一只眼睛磨得慌怎么办 没有睡好眼睛痛怎么办 好几天没休息好怎么办 血糖高睡不好觉怎么办 眼睛感觉磨的慌怎么办 痔疮手术后大便疼肛裂痛怎么办 肛裂排便困难痛怎么办 智齿导致的牙疼怎么办 肛裂一直不愈合怎么办 孕妇肛裂拉屎疼怎么办 产后50天小肚子突出怎么办 肚子像怀孕一样大怎么办