ASP.NET CORE WebAPIはEntityFrameworkに基づいてCRUDの追加削除を実現
2170 ワード
WebAPIはPost Get Put Deleteによって追加削除を実現--EntityFrameworkに基づく
Get実装情報クエリー
//Get:api/todoapi
[HttpGet]
public async Task>> GetTodoItems()
{
return await _context.TodoItem.ToListAsync();
}
//Get:api/todoapi/id
[HttpGet("{id}")]
public async Task> GetTodoItem(long id)
{
//FindAsync id
var todoItem = await _context.TodoItem.FindAsync(id);
if (todoItem == null)
{
// 404
return NotFound();
}
// json
return todoItem;
}
Postインプリメンテーション情報作成
//Post:api/todoapi
[HttpPost]
public async Task> PostTodoItem(TodoItem item)
{
_context.TodoItem.Add(item);
await _context.SaveChangesAsync();
//CreatedAtAction(actionName,routeValues,value).
return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item);
}
Put実装情報修正
//Put:api/todoapi/id
[HttpPut("{id}")]
public async Task PutTodoItem(long id,TodoItem item)
{
if (id != item.Id)
{
return BadRequest();
}
_context.Entry(item).State = EntityState.Modified;
await _context.SaveChangesAsync();
return NoContent();
}
Delete実装情報削除
//Delete:api/todoapi/id
[HttpDelete("{id}")]
public async Task DeleteTodoItem(long id)
{
var todoItem = await _context.TodoItem.FindAsync(id);
if (todoItem == null)
{
return NotFound();
}
_context.TodoItem.Remove(todoItem);
await _context.SaveChangesAsync();
return NoContent();
}