用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 删除一条记录
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值