这几天都是在搞WCF REST 服务,其实就已经在想这ASP.NET Web API,毕竟用WCF REST总有点感觉太过于复杂繁琐,还是Web API 小巧易用,废话就不多说,这里先记录下如何搭建一个简易的Web API
测试环境:VS2012+Framework4.5。
1、打开VS2012,新建一个ASP.NET 空Web应用程序。
2、建立一个ViewModel类进行:
View Code
1 namespace WebApplication1.ViewModels 2 { 3 /// <summary> 4 /// 客户类 5 /// </summary> 6 public class CustomerModel 7 { 8 /// <summary> 9 /// 客户Id 10 /// </summary> 11 public string Id { get; set; } 12 13 /// <summary> 14 /// 客户名称 15 /// </summary> 16 public string Name { get; set; } 17 18 /// <summary> 19 /// 所在组 20 /// </summary> 21 public string Group { get; set; } 22 23 } 24 }
3、新增一个测试API类:
View Code
1 public class CustomerController : ApiController 2 { 3 public IList<CustomerModel> GetCustomers(string group) 4 { 5 if (group == "1") 6 { 7 return new List<CustomerModel>() 8 { 9 new CustomerModel() 10 { 11 Group = "1", 12 Id = "2", 13 Name = "张三" 14 }, 15 new CustomerModel() 16 { 17 Group = "1", 18 Id = "3", 19 Name = "李四" 20 } 21 22 }; 23 } 24 else 25 { 26 return new List<CustomerModel>() 27 { 28 new CustomerModel() 29 { 30 Group = group, 31 Id = "4", 32 Name = "王五" 33 }, 34 new CustomerModel() 35 { 36 Group = group, 37 Id = "5", 38 Name = "赵六" 39 } 40 }; 41 } 42 } 43 44 }
4、添加路由定义,在Global.asax文件中做如下修改:
View Code
1 protected void Application_Start(object sender, EventArgs e) 2 { 3 RouteTable.Routes.MapHttpRoute("WebApi", "api/{controller}/{action}/{id}", 4 new {id = RouteParameter.Optional}); 5 }
ok,测试代码就是如此简单,F5进入调试
测试成功。比起WCF REST来简直方便多了。
当然这是最简单的一个Web Api,相信Web Api里还有很多秘密可以去探索,慢慢来,想到这。