创建包含CRUD操作的Web API接口5:实现Delete方法

本节是前面四节的延续,在前面几节中我们创建了Web API并添加了必要的基础设施,实现了Get、Post、和Put方法。本节中,我们将介绍如何在Web API中实现Delete方法。

在RESTful架构中,HTTP DELETE请求用来删除数据源中的现有记录。

现在,让我们在StudentController中创建一个Delete操作方法,该方法将使用实体框架删除在数据库中现有的学生记录。Delete类型的操作方法名称必须以Delete开头或者直接命名为“Delete”。例如:DELETE(), Delete(), DeleteStudent(), DeleteAllStudents()都是用来处理Http Delete请求的有效的Delete方法的名称。

下面的例子演示了用来处理HTTP Delete请求的Delete操作方法的实现。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public  class  StudentController : ApiController
{
     public  StudentController()
     {
     }
     public  IHttpActionResult Delete( int  id)
     {
         if  (id <= 0)
             return  BadRequest( "Not a valid student id" );
         using  (var ctx =  new  SchoolDBEntities())
         {
             var student = ctx.Students
                 .Where(s => s.StudentID == id)
                 .FirstOrDefault();
             ctx.Entry(student).State = System.Data.Entity.EntityState.Deleted;
             ctx.SaveChanges();
         }
         return  Ok();
     }
}

正如您所看到的,Delete操作方法包括一个int类型的id参数,因为它只需要传入一个id就可以删除记录。它从数据库获取与指定的id想匹配的现有学生信息,然后将其状态标记为删除。这将从数据库中删除一个学生的信息。

现在,您可以使用Fiddler发送HTTP DELETE请求,返回信息如下所示。

正如你在上面的图中所看到的,HTTP DELETE请求urlhttp://localhost:64189/api/student?id=1包含查询字符串id。这个id查询字符串将作为一个id参数传递到Delete()方法。成功执行后返回200 OK响应状态。

因此您可以创建Get、Post、Put和Delete方法来实现处理HTTP Get、Post、Put和Delete请求。

现在,让我们在后续的章节中学习如何将这个Web API项目应用到ASP.NET MVC和AngularJS中。

转载于:https://www.cnblogs.com/zxh1919/p/7873928.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值