无法通过 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)。
我现在无法通过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)。