Есть полный код теста.При публикации данных JSON в API пользователь экземпляра имеет значение null.Может кто-нибудь сказать мне, почему
Модель
public class Diploma
{
public int PeronId { get; set; }
public string Tile { get; set; }
public string Organism { get; set; }
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Function { get; set; }
public List<Diploma> Diplomas { get; set; }
public Person()
{
Diplomas = new List<Diploma>();
}
}
Контроллер
public class PersonnesController : ApiController
{
private const string cs = "Data Source=.;Initial Catalog=test;Integrated Security=True";
// POST : Person
[HttpPost]
public int Post([FromBody] Person person)
{
bool res = false;
int id;
SqlCommand cmd = new SqlCommand();
using (SqlConnection connection = new SqlConnection(cs))
{
cmd = new SqlCommand("insert dbo.personnes (Name, Function) output INSERTED.ID values (@name, @function)", connection);
cmd.Parameters.AddWithValue("@nam", person.Name);
cmd.Parameters.AddWithValue("@function", person.Function);
connection.Open();
id = (int)cmd.ExecuteScalar();
foreach (Diploma diploma in person.Diplomas)
{
cmd = new SqlCommand("insert diplomes values(@id, @title, @organism)", connection);
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@title", diploma.Tile);
cmd.Parameters.AddWithValue("@organism", diploma.Organism);
cmd.ExecuteNonQuery();
}
return id;
}
}
}
Я тестирую с RESTClient для Firefox,
В разделе заголовка:
Content-type : application/x-www-form-urlencoded