Web API的新手,也是C#的新手,所以还在努力学习。
我已经到了可以显示这个
的地步 [{"name":"myname","birthday":"11111","nickname":"mynickname","phoneNumbers":[{"type":"phone","phone":"work","number":"1231231234"},{"type":"phone","phone":"cell","number":"4564654567"}]}]
但是当我尝试更新“数字”时,它会将“phoneNumbers”更改为null,当我尝试发布新内容时也是如此。
所以现在我不确定问题出在哪里...... 存储库?
public void Add(Contacts item)
{
ContactList.Add(item);
}
public void Update(Contacts item)
{
var itemToUpdate = ContactList.SingleOrDefault(a => a.Birthday == item.Birthday);
if (itemToUpdate != null)
{
itemToUpdate.Name = item.Name;
itemToUpdate.Birthday = item.Birthday;
itemToUpdate.Nickname = item.Nickname;
itemToUpdate.PhoneNumbers = item.PhoneNumbers;
}
还是我的控制器?
[HttpPost]
public IActionResult Create([FromBody] Contacts item)
{
//
ContactsRepo.Add(item);
return CreatedAtRoute("GetContacts", new { Controller = "Contacts", id = item.Birthday }, item);
}
[HttpPut("{id}")]
public IActionResult Update(string id, [FromBody] Contacts item)
{
//
ContactsRepo.Update(item);
return new NoContentResult();
}
还是完全不同的东西?
编辑:联系班级
public class Contacts
{
public string Name { get; set; }
public string Birthday { get; set; }
public string Nickname { get; set; }
public List<PhoneNumber> PhoneNumbers { get; set; }
}