博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用ASP.NET Web API技术开发HTTP接口(二)
阅读量:4922 次
发布时间:2019-06-11

本文共 1703 字,大约阅读时间需要 5 分钟。

在第一部分,我们创建了一个基本的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应用商店去下载,因为被国内屏蔽的原因,需要FQ后才能访问,下载地址是: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 删除一条记录

转载于:https://www.cnblogs.com/netalen/p/7265411.html

你可能感兴趣的文章
C语言默认參数值的实现
查看>>
docker 技术
查看>>
javascript挑战编程技能-第二题:计算字符数
查看>>
osgEarth编译
查看>>
win10与linux双系统切换时间不一致的调整
查看>>
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)...
查看>>
Enum Binding ItemsSource In WPF
查看>>
Javaweb 实现一个简单留言板
查看>>
UIP协议栈
查看>>
ubuntu设置默认终端
查看>>
洛谷P2731 骑马修栅栏 Riding the Fences
查看>>
python request 留位置0
查看>>
linux内核分析程序破解实践报告
查看>>
python datetime 操作相关
查看>>
2019-06-18 今日头条面试题。 合理设计这两个类。 2。 student 继承person 3 不能使用class...
查看>>
网络构建入门技术(5)——子网划分应用
查看>>
OpenCV学习笔记——滑动条开关
查看>>
memcpy函数、memset()函数、strcpy函数、strncpy函数、strcmp函数
查看>>
完成个人中心—导航标签
查看>>
理解OAuth 2.0
查看>>