您的位置:首页 > 编程语言 > ASP

ASP.NET MVC4 WEB API简单应用

2015-10-19 18:15 513 查看
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。

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



添加控制器-->空的API控制器,

创建之后发现和MVC控制器不同之处在与API继承自ApiController,而MVC控制器继承自Controller。

在Global里面多了一个WebApiConfig.Register(GlobalConfiguration.Configuration)的路由注册。



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



编写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
});
}
}

编译发布web api,这里我是发布到iis上

程序调用,这里返回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();
}
}
}

浏览器调用

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: