我是一个webapi的初学者,在一开始用这个的时候遇到了许多困难,这里想跟像我一样的初学者分享一下创建一个新的webapi的步骤:
1、首先添加一个模型:模型是表示应用程序数据的一种对象。ASP.NET Web API可以自动地把模型序列化成JSON、XML、或某些其它格式,然后这些序列化数据写到HTTP响应的消息体中。只要一个客户端能够读取这种序列化格式,它就可以对这种对象进行反序列化。大多数客户端都能够解析XML或JSON。另一方面,通过设置HTTP请求消息中的Accept报头,客户端能够指示它所希望的是哪一种格式。
操作如下:
新建一个User类:
namespace DemoWebapi.Models { public class User { public int ID { get; set; } public String LoginName { get; set; } public String Password { get; set; } public String Name { get; set; } } }
2、在添加一个控制器:
控制器是一种处理HTTP请求的对象。“新项目”向导在创建该项目时为你创建了两个控制器。要看到它们,在“解决方案资源管理器”中展开Controllers文件夹。
- HomeController是传统的ASP.NET MVC控制器。它负责对网站的HTML页面进行服务,且与Web API无直接关系。
- ValuesController是一个例子型的WebAPI控制器。
再新建一个UserController 控制器:
1 namespace DemoWebapi.Controllers 2 { 3 public class UserController : ApiController 4 { 5 private static IList<User> users; 6 7 public UserController() 8 { 9 if (users == null) 10 users = new List<User>(); 11 User[] user = new User[] 12 { 13 new User { ID = 1, Name = "Tom", LoginName = "Tomlogin", Password = "111" }, 14 new User { ID = 2, Name = "Jack", LoginName = "Jacklogin", Password = "222" }, 15 new User { ID = 3, Name = "Rose", LoginName = "RoseLogin", Password = "333" } 16 }; 17 } 18 19 public IEnumerable<User> GetAllUser() 20 { 21 return users; 22 } 23 public User GetUserById(int id) 24 { 25 var user = users.FirstOrDefault((p) => p.ID == id); 26 if (user == null) 27 { 28 throw new HttpResponseException(HttpStatusCode.NotFound); 29 } 30 return user; 31 } 32 } 33 }
好了,一个简单的webapi的创建就完成了。你可以用任何HTTP客户端来调用你的web API。事实上,你可以直接从一个web浏览器来调用它。在Visual Studio中,从“调试”菜单选择“启动调试”,或使用F5快捷键。ASP.NET开发服务器(ASP.NET Development Server)将启动,屏幕的右下角部将出现一个通知,显示它运行的端口号。默认地,开发服务器选择随机端口号。