使用 ASP.NET Core 创建 Web API
此次主要介绍使用 ASP.NET Core 构建 Web API 的基础知识。
在本教程中,你将了解:
- 创建 Web API 项目。
- 添加模型类和数据库上下文。
- 使用 CRUD 方法构建控制器。
- 配置路由、URL 路径和返回值。
- 使用 Postman 调用 Web API。
概述本教程将创建以下 API:
API |
说明 |
请求正文 |
响应正文 |
GET /api/TodoItems |
获取所有待办事项 |
无 |
待办事项的数组 |
GET /api/TodoItems/{id} |
按 ID 获取项 |
无 |
待办事项 |
POST /api/TodoItems |
添加新项 |
待办事项 |
待办事项 |
PUT /api/TodoItems/{id} |
更新现有项 |
待办事项 |
无 |
DELETE /api/TodoItems/{id} |
删除项 |
无 |
无 |
创建 Web 项目
从“文件”菜单中选择“新建”>“项目” 。
选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” 。
将项目命名为 TodoApi,然后单击“创建” 。
在“创建新的 ASP.NET Core Web 应用程序”对话框中,确认选择“.NET Core”和“ASP.NET Core 3.1” 。 选择“API”模板,然后单击“创建” 。
添加模型类
模型 是一组表示应用管理的数据的类。 此应用的模型是单个 TodoItem 类。
在“解决方案资源管理器” 中,右键单击项目。 选择“添加” > “新建文件夹” 。 将文件夹命名为“Models” 。
右键单击“Models” 文件夹,然后选择“添加” > “类” 。 将类命名为 TodoItem,然后选择“添加” 。
将模板代码替换为以下代码:
构建控制器
- 右键单击 Controllers 文件夹。
- 选择“添加”>“新建构建项” 。
- 选择“其操作使用实体框架的 API 控制器”,然后选择“添加”
检查 PostTodoItem create 方法
替换 PostTodoItem
中的返回语句,以使用 nameof 运算符:
[Route("api/posttodoitem")] [ApiController] public class PostTodoItemController : ControllerBase { public static List<TodoItem> todoItems = new List<TodoItem>() { 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<ActionResult<TodoItem>> 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<ActionResult<List<TodoItem>>> TodoItems() { return await Task.Run(() => todoItems); // return CreatedAtAction("GetTodoItem", new { id = todoItem.Id }, todoItem); } [HttpGet("{id}")] public async Task<ActionResult<TodoItem>>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。
- 安装 Postman
- 启动 Web 应用\(在测试时,可在项目的文件夹下,运行 cmd
- 输入:dotnet watch run )
例如项目位置为:
打开Cmd
- 启动 Postman。
- 禁用 SSL 证书验证
- 在“文件”>“设置”(“常规”选项卡)中,禁用“SSL 证书验证”
通过 Postman 测试 PostTodoItem
- 创建新请求。
- 将 HTTP 方法设置为
POST
。 - 选择“正文”选项卡 。
- 选择“原始”单选按钮 。
- 将类型设置为 JSON (application/json)
- 在请求正文中,输入待办事项的 JSON:
{ Id:5 "name":"walk dog", "isComplete":true }
选择Send。
测试位置标头 URI
- 在Headers 窗格中选择Response 选项卡。
- 复制Location 标头值:
- 将方法设置为“GET”。
- 粘贴 URI(例如,http://localhost:52655/api/posttodoitem/6)。
- 选择Send。