在实际应用中,会使用一个数据库,但目前就先这样吧。我还将 controller 类重命名为 ToDoController(使路由变为 api/todo),将 Get 和 Post 方法连接至存储,并清除其他未使用的 controller 方法。结果如图 4 所示。
图 4 Controller 及其简单的共享待办事项列表存储
[Route("api/[controller]")]
public class ToDoController : Controller
{
[HttpGet]
public IEnumerable<ToDoItem> Get()
{
return ToDoList.GetAll();
}
[HttpPost]
public void Post([FromBody]ToDoItem item)
{
ToDoList.Add(item);
}
}
public class ToDoItem
{
public string Title { get; set; }
}
public static class ToDoList
{
static List<ToDoItem> list = new List<ToDoItem>();
public static void Add(ToDoItem item)
{
lock (list) { list.Add(item); }
}
public static IEnumerable<ToDoItem> GetAll()
{
lock (list) { return list.ToArray(); }
}
}