zoukankan      html  css  js  c++  java
  • 创建包含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中。

  • 相关阅读:
    uva 10561 sg定理
    二进制下 求分数化小数的循环节问题
    zoj 2562 反素数
    uva 11916 解模方程a^x=b (mod n)
    Android 组件化方案探索与思考
    2018谷歌I/O开发者大会8大看点汇总 新品有哪些
    Glide高级详解—缓存与解码复用
    Android性能优化:手把手带你全面实现内存优化
    Android几种强大的下拉刷新库
    Android app 在线更新那点事儿(适配Android6.0、7.0、8.0)
  • 原文地址:https://www.cnblogs.com/zxh1919/p/7873928.html
Copyright © 2011-2022 走看看