VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > ASPnet >
  • 使用 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

 



相关教程