使用 ASP.NET Core MVC 创建 Web API

使用 ASP.NET Core MVC 创建 Web API(一)
<https://www.cnblogs.com/chillsrc/p/10614598.html>

使用 ASP.NET Core MVC 创建 Web API(二)
<https://www.cnblogs.com/chillsrc/p/10649898.html>

 使用 ASP.NET Core MVC 创建 Web API(三)
<https://www.cnblogs.com/chillsrc/p/10697463.html>

使用 ASP.NET Core MVC 创建 Web API(四)
<https://www.cnblogs.com/chillsrc/p/10727666.html>

 

十五、添加更新方法

    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地址,如下图。数据已经不存在了。

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信