ASP.NET MVC学习系列(一)-WebAPI初探

  因为即将要接手的新项目计划用ASP.NET MVC3来开发,因此最近一段时间一直在看相关的书或文章。由于以前在大学里也曾学习过MVC2开发,也作过几个简单的MVC2的小型测试项目,不过在后来工做之后主要仍是开发WebForm的项目,因此MVC的东西也就逐渐的淡忘了。html

  通过这一段时间的系统学习,真的以为MVC3相比于以前的MVC2还有WebForm来讲,确实有一种让人欲罢不能爽歪歪的感受。特别是Razor语法、Linq表达式等的结合运用。程序员

  为了将学习过程当中遇到的一些值得留意的问题和知识点进行一个很好地整理,因此打算把对MVC的学习过程整理成一个文章系列,同时也但愿能帮助那些初学ASP.NET MVC的童鞋们。可能文章的风格不会像其余文章那样讲的很深,主要仍是经过实例来表达吧。因为本身也是初学,文章中不免有错误,也但愿各位高手可以多多指教,你们共同窗习。web

  好了,废话很少说,进入正题。ajax

  我的以为在MVC中,路由规则算是比较重要的一点。记得以前曾看过dudu站长的一篇文章 HttpClient + ASP.NET Web API, WCF以外的另外一个选择 ,对于用惯了“html+ajax+通常处理程序” 来开发项目的我来讲,以为这应该算是另外一种更加高端的处理数据请求的方式吧,因此,今天咱们就从这种“精简版的WebAPI” 开始提及。api

 

  首先,先建立一个“ASP.NET 空Web应用程序” :浏览器

  而后添加对 “System.Web.Http” 和 “System.Web.Http.WebHost” 的引用:学习

 

  再添加对“System.Net.Http” 的引用:测试

 

  因为须要用到对Json数据的处理,因此还要添加对 “Newtonsoft.Json” 的引用。url

这里须要注意一下:spa

若是开始不添加对“Newtonsoft.Json”的引用,在项目运行时就会报错,具体报错缘由稍后再说。

 

  对四个类库的引用:

 

  而后新建一个类,用于注册默认路由映射,这里类名为 WebAPIConfig :

  添加Global.asax文件,在 Application_Start 方法中 初始化路由映射:

        protected void Application_Start(object sender, EventArgs e) { //在应用程序启动时注册路由映射
 WebAPIConfig.Register(GlobalConfiguration.Configuration); }

  记得引入命名空间:

using System.Web.Http;

  注意:

上面咱们提到,若是开始时不引用 “Newtonsoft.Json”,那么在运行时 注册路由映射这里就会报错:

 

 建立名为Controller的文件夹,而后添加一个类且类名以 Controller结尾,这里为UserController 。让这个类继承自 ApiController 基类:

  建立名为Model的文件夹用来存放实体类,添加Users类:

  在 UserController 类中,添加一个 GetUser() 方法,模拟一些数据:

//引入命名空间
using System.Web.Http; using X_1_FirstWebAPI.Model; namespace X_1_FirstWebAPI.Controller { public class UserController : ApiController { public List<Users> GetUser() { var userList = new List<Users> { new Users{ Id=1,UName="张三",UAge=12,UAddress="海淀区"}, new Users{Id=2,UName="李四",UAge=23,UAddress="昌平区"}, new Users{Id=3,UName="王五",UAge=34,UAddress="朝阳区"} }; var temp = (from u in userList select u).ToList(); return temp; } } }

 

  咱们以前添加的路由规则为 "api/{controller}/{action}/{id}" ,因此,咱们在浏览器中访问数据的url为 http://localhost:****/api/controllerName/actionName  的形式,在这里便是 api/user/getuser :

  OK,到这里,精简版的WebAPI项目就完成了,这个应该对于大部分.NET程序员来讲理解起来是很简单的。

那下一篇文章咱们就深刻地来聊一聊如何调用WebAPI请求后台数据吧!

   下载代码

转载请注明出处。

相关文章
相关标签/搜索