zoukankan      html  css  js  c++  java
  • 创建包含CRUD操作的Web API接口4:实现Put方法

    本节教程是前三节的延续,在前面我们创建了Web API和必要的基础设施,也实现了Get和Post方法。接下来,我们将在Web API中实现Put方法。

    RESTful架构中,HTTP PUT方法用于在数据源更新现有记录。

    让我们在StudentController中创建一个操作方法用来使用实体框架在数据库中更新现有的学生记录。用来处理Http Put类型请求的Action方法,取名必须以Put开头,或者直接叫Put()。例如:PUT(), Put(), PutStudent(), PutStudents()都是合格的Put类型方法名称。

    下面的例子演示了用来处理HTTP Put请求的Action方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public class StudentController : ApiController
    {
        public StudentController()
        {
        }
        public IHttpActionResult Put(StudentViewModel student)
        {
            if (!ModelState.IsValid)
                return BadRequest("Not a valid model");
            using (var ctx = new SchoolDBEntities())
            {
                var existingStudent = ctx.Students.Where(s => s.StudentID == student.Id)
                                                        .FirstOrDefault<Student>();
                if (existingStudent != null)
                {
                    existingStudent.FirstName = student.FirstName;
                    existingStudent.LastName = student.LastName;
                    ctx.SaveChanges();
                }
                else
                {
                    return NotFound();
                }
            }
            return Ok();
        }
    }

    正如您所看到的,Put动作方法包括一个StudentViewModel类型的参数。该方法先查询出之前创建的Student对象,然后修改对象。

    现在,您可以使用Fiddler发送HTTP PUT请求,如下所示。

    正如你在上面的图中所看到的,HTTP PUT请求包括JSON格式的StudentViewModel对象的请求主体。

    在成功执行之后返回200 OK响应状态。

    接下来,我们将在Web API中实现删除操作方法来处理HTTP Delete请求。

  • 相关阅读:
    如何区分DDR1 DDR2 DDR3内存条
    《闪电战》德军攻略
    WINDOWS SERVER 2008 R2安装指南
    【django】django学得好迷茫啊 来个学习规划吧
    【阅读】提问的智慧+有效的报告BUG
    【Python】logging模块学习笔记
    【接口测试】进度表
    【django】django深入学习笔记
    【随笔】2014工作总结
    【英语】Bingo口语笔记(47)
  • 原文地址:https://www.cnblogs.com/zxh1919/p/7873920.html
Copyright © 2011-2022 走看看