本文主要是介绍用ASP.NET Web API技术开发HTTP接口(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在第一部分,我们创建了一个基本的ASP.NET Web API项目,新建成功了数据表,然后添加了一些测试数据,最后创建了API控制器,用json格式把数据表里面的内容成功输出到浏览器上。接下来我们将继续完成对数据的添加、修改、删除操作。
添加操作
public HttpResponseMessage Post(Friend friend){if (ModelState.IsValid){db.Friends.Add(friend);db.SaveChanges();return Request.CreateResponse(HttpStatusCode.Created, friend);}return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); }
首先对传入的数据进行验证,如果验证通过,则添加到数据库中,否则输出错误信息。
修改、删除操作
public HttpResponseMessage Put(Friend friend) {if (ModelState.IsValid){db.Entry(friend).State = EntityState.Modified;db.SaveChanges();var response = Request.CreateResponse(HttpStatusCode.OK, friend);return response;}return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); }public HttpResponseMessage Delete(int id) {var friend = db.Friends.Find(id);if (friend != null){db.Friends.Remove(friend);db.SaveChanges();return Request.CreateResponse(HttpStatusCode.OK, friend);}return Request.CreateResponse(HttpStatusCode.NotFound); }
和添加操作类似,用Linq语句操作Entity Framework,代码非常简洁高效。不同的方法名也对应了不同的操作,Get对应读取操作,Post对应添加操作,Put对应修改操作,Delete对应删除操作。
API接口测试
Advanced Rest Client是Chrome浏览器的一个插件,因此在浏览器上就可以直接调试各类API接口,比安装其他软件方便。只是这个插件要到Chrome应用商店去下载,因为被国内屏蔽的原因,需要翻墙后才能访问,下载地址是:https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
测试过程比较简单,注意要选择对应的方法Get、Post、Put或Delete。
下面这是调用删除数据的接口截图。
下面是对这次API接口程序每个方法和URL地址的对应表格。
控制器方法 | URL地址 | 功能 |
---|---|---|
Get | /api/friend | 读取全部数据 |
Post | /api/friend (Friend model) | 添加一条记录 |
Put | /api/friend (Friend model) | 修改一条记录 |
Delete | /api/friend/id | 删除一条记录 |
这篇关于用ASP.NET Web API技术开发HTTP接口(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!