无法通过 fiddler post 一条新记录

Unable to post a new record through fiddler

我现在无法通过fiddler 发布记录。我的代码如下:

[HttpPost]
public void AddStudent(Student s)
{
    SqlConnection myConnection = new SqlConnection();
    myConnection.ConnectionString = @"Data Source=PALLAVI-PC\SQLEXPRESS;Initial Catalog=StudentDB;Integrated Security=True;MultipleActiveResultSets=True;";

    SqlCommand sqlCmd = new SqlCommand();
    sqlCmd.CommandType = CommandType.Text;
    sqlCmd.CommandText = "INSERT INTO Tbl_Students (Roll_Number,FirstName,LastName,Class,Gender) Values (@Roll_Number,@FirstName,@LastName,@Class,@Gender)";
    sqlCmd.Connection = myConnection;

    sqlCmd.Parameters.AddWithValue("@Roll_Number", s.Roll_Number);
    sqlCmd.Parameters.AddWithValue("@FirstName", s.FirstName);
    sqlCmd.Parameters.AddWithValue("@LastName", s.LastName);
    sqlCmd.Parameters.AddWithValue("@Class", s.Class);
    sqlCmd.Parameters.AddWithValue("@Gender", s.Gender);

    myConnection.Open();
    int rowInserted = sqlCmd.ExecuteNonQuery();
    myConnection.Close();
}

当我 运行 在 fiddler 上执行此操作时,我收到 NullException。代码不排除响应主体。响应正文采用 JSON 格式。图片如下:

编辑 这是我收到的错误(图片)。

我也会在 Fiddler 中设置 Content-Type header

Content-Type: application/json

要强制 Web API 从请求 body 中读取简单类型,请将 [FromBody] 属性添加到参数:

public void AddStudent([FromBody]Student s)

在此示例中,Web API 将使用 media-type 格式化程序从请求 body 中读取名称的值。这是一个示例客户端请求。

POST http://localhost:5076/api/values HTTP/1.1
User-Agent: Fiddler
Host: localhost:5076
Content-Type: application/json
Content-Length: 7

"{Students}"

当参数有 [FromBody] 时,Web API 使用 Content-Type header 到 select 格式化程序。在此示例中,内容类型是 "application/json",请求 body 是原始 JSON 字符串(不是 JSON object)。