当使用 DTO 进行 Put 操作时,需要在控制器中添加必要的代码来确保更新现有对象。以下示例演示了如何更新现有对象:
[HttpPut("{id}")]
public async Task Put(int id, [FromBody] MyDTO dto)
{
//...
}
[HttpPut("{id}")]
public async Task Put(int id, [FromBody] MyDTO dto)
{
var existingObject = await _context.MyObjects.FindAsync(id);
if (existingObject == null)
{
return NotFound();
}
existingObject.Property1 = dto.Property1;
existingObject.Property2 = dto.Property2;
//...
await _context.SaveChangesAsync();
return NoContent();
}
请注意,这里的代码假定您已经设置了正确的上下文和 MyObject 实体类。
通过这些更改,您应该能够成功更新现有对象。
上一篇:ASP.NETCoreWebAPI中HTTPPost方法的正确结构是什么?
下一篇:ASP.NETCoreWebAPI中使用返回类型为ActionResult<T>的方法在SwaggerUI上卡死。