我正在用.NET Core编码Rest API。我有问题。我使用邮递员进行测试。 例如;我的变量:姓名,姓氏,年龄。
{
"ID": 1
"name": "Ayhan",
"surname":"Hara"
}
我正在使用Put请求。
id=1, name=Ayhan, surname=Hara, age=null
但是我不发送“年龄”。因此,它为年龄保存了空值。
像;
[HttpPut("{id}")]
public ActionResult Update(int id, [FromBody]JsonPutDocument<Customer_UserDTO> customer_UserDTO)
{
if (!ModelState.IsValid)
return BadRequest("İstenilen Datalar Düzgün Değil");
var user = unitOfWork.customer_User.GetById(id);
if (user == null)
return NotFound("İlgili müşteri bulunamadı");
var userToPut = mapper.Map<Customer_UserDTO>(user);
customer_UserDTO.ApplyTo(userToPut, ModelState);
mapper.Map(userToPut, user);
unitOfWork.SaveChanges();
return Ok(mapper.Map<Customer_User>(user));
}
如何检查空变量?如果未输入年龄值,请不要更改。
{{1}}
答案 0 :(得分:0)
您可能想看看[Patch]。具体来说,此博客将为您提供帮助: https:// dotnetcoretutorials .com / 2017/11/29 / json-patch-asp-net-core /
您唯一真正可行的选择是根据自己的条件手动映射属性。
或者,对于以下位置的Automapper员工来说可能是个问题: https://github.com/AutoMapper/ AutoMapper