使用 ASP.NET Core 创建 Web API
此次主要介绍使用 ASP.NET Core 构建 Web API 的基础知识。
在本教程中,你将了解:
API |
说明 |
请求正文 |
响应正文 |
GET /api/TodoItems |
获取所有待办事项 |
无 |
待办事项的数组 |
GET /api/TodoItems/{id} |
按 ID 获取项 |
无 |
待办事项 |
POST /api/TodoItems |
添加新项 |
待办事项 |
待办事项 |
PUT /api/TodoItems/{id} |
更新现有项 |
待办事项 |
无 |
DELETE /api/TodoItems/{id} |
删除项 |
无 |
无 |
从“文件”菜单中选择“新建”>“项目” 。
选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” 。
将项目命名为 TodoApi,然后单击“创建” 。
在“创建新的 ASP.NET Core Web 应用程序”对话框中,确认选择“.NET Core”和“ASP.NET Core 3.1” 。 选择“API”模板,然后单击“创建” 。
模型 是一组表示应用管理的数据的类。 此应用的模型是单个 TodoItem
类。
替换 PostTodoItem
中的返回语句,以使用 nameof 运算符:
[Route("api/posttodoitem")]
[ApiController]
public class PostTodoItemController : ControllerBase
{
public static List todoItems = new List() {
new TodoItem{Id=1,IsComplete=true,Name="张艺兴" },
new TodoItem{Id=2,IsComplete=true,Name="郑凯" },
new TodoItem{Id=3,IsComplete=true,Name="杨颖" },
new TodoItem{Id=4,IsComplete=true,Name="陈赫" },
new TodoItem{Id=5,IsComplete=true,Name="李晨" },
};
[HttpPost]
public async Task> PostTodoItem(TodoItem todoItem)
{
todoItems.Add(todoItem);
return CreatedAtAction(nameof(GetTodoItem), new { id = todoItem.Id }, todoItem);
// return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
}
[HttpGet]
public async Task>> TodoItems()
{
return await Task.Run(() => todoItems);
// return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem);
}
[HttpGet("{id}")]
public async Task>GetTodoItem(int id)
{
var todoItem = await Task.Run(() => todoItems.Where(x => x.Id == id)); ;
if (todoItem == null)
{
return NotFound();
}
return todoItem.FirstOrDefault();
}
}
安装 Postman
本教程使用 Postman 测试 Web API。
例如项目位置为:
打开Cmd
POST
。{
Id:5
"name":"walk dog",
"isComplete":true
}
选择Send。