创建包含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中。
创建包含CRUD操作的Web API接口5:实现Delete方法的更多相关文章
- 创建包含CRUD操作的Web API接口2:实现Get方法
本节是前一节的延续,上一节中我们已经为我们的Web API项目创建必要的基础设施. 在本节中,我们将在我们的控制器类中实现操作方法,这些方法用来处理HTTP GET请求. 根据Web API命名约定, ...
- 创建包含CRUD操作的Web API接口3:实现Post方法
本节是前面两节的延续,前面我们为Web API创建了必要的基础设施,并实现了Get方法.在这里,我们将在Web API中实现POST方法. 在RESTful架构中,使用HTTP POST请求用来在数据 ...
- 创建包含CRUD操作的Web API接口-第一部
在这里,我们将创建一个新的Web API项目,它将使用实体框架实现Get,POST.PUT和DELETE方法来实现CRUD操作. 首先,在Visual Studio 2013 for Web expr ...
- 创建包含CRUD操作的Web API接口4:实现Put方法
本节教程是前三节的延续,在前面我们创建了Web API和必要的基础设施,也实现了Get和Post方法.接下来,我们将在Web API中实现Put方法. RESTful架构中,HTTP PUT方法用于在 ...
- 【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API
原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 ...
- 不使用jQuery对Web API接口POST,PUT,DELETE数据
前些天,Insus.NET有演示Web API接口的操作: <怎样操作WebAPI接口(显示数据)>http://www.cnblogs.com/insus/p/5670401.html ...
- Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...
- Web API接口设计经验总结
在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...
- Web API接口设计(学习)
1.在接口定义中确定MVC的GET或者POST方式 由于我们整个Web API平台是基于MVC的基础上进行的API开发,因此整个Web API的接口,在定义的时候,一般需要显示来声明接口是[HttpG ...
随机推荐
- HNOI做题记录
算是--咕完了? 2013.2014的就咕了吧,年代太久远了,并且要做的题还有那么多-- LOJ #2112. 「HNOI2015」亚瑟王 发现打出的概率只和被经过几次有关. 于是\(dp_{i,j} ...
- 代码注入/文件包含 弹出Meterpreter
主要通过 msf 中 exploit 的 web_delivery 模块来实现此功能 0x01 前提背景 目标设备存在远程文件包含漏洞或者命令注入漏洞,想在目标设备上加载webshell,但不想在目标 ...
- springboot装配OkHttp组件
在SpringBoot应用中,发送Http通常我们使用RestTemplate,但有部分组件底层是使用OkHttp进行Http的操作,而且OKHttp也是一个很优秀的HTTP组件. RestTempa ...
- python-selenium登陆今日头条
https://blog.csdn.net/a942242856/article/details/88379727 原文地址:http://www.bianbingdang.com/article_d ...
- css 设置div半透明 悬浮在页面底部 不随滚动条滚动
.action-button { width: 100%; background:rgba(0,0,0,0.7); position:fixed; bottom:; left:; z-index:; ...
- MQTT研究之EMQ:【EMQX使用中的一些问题记录(3)】
EMQX功能强大,但是帮助信息或者可用资料的确有限,遇到个问题,比较难找到处理的头绪,今天,我要记录的是,使用中出现EMQX宕机,但是呢,启动也启动不了. 今天记录的内容,就以操作EMQX 3.2.3 ...
- Python3基础 tuple 使用通配符*进行拆包 简单示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- 用python批量下载图片
一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ...
- 内存自动清理.sql
--清除存储过程缓存 DBCC FREEPROCCACHE --注:方便记住关键字 FREEPROCCACHE可以拆解成 FREE(割舍,清除) PROC(存储过程关键字简写),CACHE(缓存) - ...
- PMP 第7章错题总结
这一章全是公式,是计算量最大的一章 1.进度安排的灵活性是由总时差决定的2.三点估算通过考虑估算中的不确定性和风险,可以提高活动持续时间估算的准确性3.快速跟进是一种进度压缩技术,将正常情况下按顺序进 ...