使用 ASP.NET Core MVC 创建 web API(一)
使用 ASP.NET Core MVC 创建 Web API(二)
使用 ASP.NET Core MVC 创建 Web API(三)
使用 ASP.NET Core MVC 创建 Web API(四)
十五, 添加更新方法
Http 定义了与 服务器的交互方法, 其中除了一般我们用的最多的 GET,POST 这两个方法之外, 其实还有 PUT 和 DELETE.
PUT 通常用于向服务器发送请求, 如果 URI 不存在, 则要求服务器根据请求创建资源, 如果存在, 服务器就接受请求内容, 并修改 URI 资源的原始版本. 如果新的资源被创建, 这个原始服务器就必须通过 201(Created) 响应通知用户代理. 如果已有资源被修改, 则发送 200 或者 204 响应, 表示成功完成了该请求.
PutBookItem 与 PostBookItem 类似, 但是使用的是 HTTP PUT. 响应是 204(无内容). 根据 HTTP 规范, PUT 请求需要客户端发送整个更新的实体, 而不仅仅是更改. 如果在调用 PutBookItem 时出错, 请先调用 GET 方法以确保数据库中有指定的书籍信息.
在 Visual Studio 2017 中打开 BookController.cs 文件, 添加以下 PutBookItem 方法:
- // PUT: API/Book/5
- [HttpPut("{id}")]
- public async Task<IActionResult> PutBookItem(int id, Book item)
- {
- if (id != item.ID)
- {
- return BadRequest();
- }
- _context.Entry(item).State = EntityState.Modified;
- await _context.SaveChangesAsync();
- return NoContent();
- }
一) 测试 PutBookItem 方法
在进行 PUT 调用之前, 在数据库中必须要有所要修改的书籍信息. 请先调用 GET 方法以确认数据库中存在进行 PUT 调用的书籍信息数据.
1) 在 Visual Studio 2017 中按 F5, 启动 BookApi 应用程序.
2) 打开 Firefox 浏览器, 并打开 Rester, 在 Reseter 中, 将 HTTP 方法设置为 PUT.
3) 选择 "Headers" 选项卡, 选择 "Content-Type" 选项, 并将值设置为 JSON (application/JSON).
4) 然后选择 "BODY" 选项卡, 在请求正文中, 输入书籍信息的 JSON, 如下图:
JSON 字符串:{
- "id": 24,
- "name": "Python 编程实例",
- "releaseDate": "2018-03-02",
- "price": 59.49,
- "author": "马瑟斯",
- "publishing": "机械工业出版社",
- "rowVersion": "AAAAAAAANrE="
- }
5) 使用鼠标左键, 单击 "SEND" 按钮. 响应返回 204, 这次修改成功. 结果如下图.
6) 如下图, 我们对 ID=24 的书籍信息进行了修改. 我们来看一下更新前后的变化.
十六, 添加删除方法
我们通过 Http 定义的 DELETE 方法删除一条书籍信息. DELETE 请求就是执行相应的删除操作, 配合数据库进行相应的删除动作.
DeleteBookItem 使用的是 HTTP DELETE. 响应是 204(无内容).
在 Visual Studio 2017 中打开 BookController.cs 文件, 添加以下 DeleteBookItem 方法:
- // DELETE: API/Book/5
- [HttpDelete("{id}")]
- public async Task<IActionResult> DeleteBookItem(int id)
- {
- var book = await _context.Book.FindAsync(id);
- if (book == null)
- {
- return NotFound();
- }
- _context.Book.Remove(book);
- await _context.SaveChangesAsync();
- return NoContent();
- }
一) 测试 DeleteBookItem 方法
在进行 DELETE 调用之前, 在数据库中必须要有所要删除的书籍信息. 请先调用 GET 方法以确认数据库中存在进行 DELETE 调用的书籍信息数据.
1) 在 Visual Studio 2017 中按 F5, 启动 BookApi 应用程序.
2) 打开 Firefox 浏览器, 并打开 Rester, 在 Reseter 中, 将 HTTP 方法设置为 DELETE.
3) 然后在 URL 输入框中输入要删除的对象 URI, 例如 http://localhost:5000/API/book/24
4) 使用鼠标, 点击 "Send" 按钮. 如下图.
5) 删除成功, 如下图.
6) 如果数据库中没有我们所要删除的数据, 则会提示如下图.
7) 我们在浏览器中查询刚才的 URI 地址, 如下图. 数据已经不存在了.
来源: https://www.cnblogs.com/chillsrc/p/10768738.html