我被要求更新 API 并通过以下代码实现
RemoveToDoItem
:
[HttpDelete("{id}", Name = "DeleteTodoItem")]
public async Task<IActionResult> RemoveTodoItem(int id)
{
// TODO
// Use EF Core to remove the item based on id
throw new NotImplementedException();
}
这是我尝试运行程序时得到的错误代码
HttpRequestException:您必须首先实现 API 端点。 CandidateApi.cs 中的 Candidate.Web.Services.CandidateApi.RemoveTodoItem(int id)
}
catch (Exception ex)
{
throw new HttpRequestException("You must first implement the API endpoint.");
}
throw new HttpRequestException("You must first implement the API endpoint.");
不完全确定如何去做。我试过使用
DeleteTodoItem
变量但没有运气。任何帮助将不胜感激
DbContext
添加到构造函数参数中,将其注入到控制器中。Remove()
的
DbSet<T>
属性上使用DbContext
方法将实体标记为删除。SaveChangesAsync()
将更改保存到数据库。[HttpDelete("{id}", Name = "DeleteTodoItem")]
public async Task<IActionResult> RemoveTodoItem(int id)
{
var todoItem = await _dbContext.TodoItems.FindAsync(id);
if (todoItem == null)
return NotFound();
_dbContext.TodoItems.Remove(todoItem);
await _dbContext.SaveChangesAsync();
return NoContent();
}