本教程将介绍使用ASP.NET Core创建一个Web API的基础知识。
在本教程中,你将学到如何:
- 创建一个Web API 工程
- 添加一个模型类以及一个数据库上下文
- 基于基架生成一个带有CRUD方法的控制器
- 配置路由,URL Path以及返回值
- 使用Postman调用Web API
在本教程结束的时候,你会有一个web API,其可以管理存储在数据库中的 "to-do"条目。
概述
本教程创建了如下API:
API | 描述 | 请求体 | 响应体 |
---|---|---|---|
GET /api/TodoItems |
获取所有to-do 条目 | 无 | to-do 条目的数组 |
GET /api/TodoItems/{id} |
通过ID来获取一个条目 | 无 | To-do条目 |
POST /api/TodoItems |
添加一个新的条目 | To-do条目 | To-do条目 |
PUT /api/TodoItems/{id} |
更改一个已存在的条目 | To-do条目 | 无 |
DELETE /api/TodoItems/{id} |
删除一个条目 | 无 | 无 |
如下的图形显示了app的设计:
预先条件
- Visual Studio 2019 16.4 及后续版本,并带有 ASP.NET and web development 工作负载。
- .NET Core 3.1 SDK 及后续版本
创建一个Web 工程
- 选择 文件 菜单,选择 新建>>项目。
- 选择 ASP.NET Core Web Application 模板,并点击 下一步。
- 将项目命名为 TodoApi 并点击 创建。
- 在 Create a new ASP.NET Core Web Application 对话框中,确保 .NET Core 和 ASP.NET Core 3.1 被选中,选择API 模板,然后点击 创建。
测试API
项目模板创建了一个天气预报API,从浏览器中调用GET方法来测试我们的这个app。
按 Ctrl+F5 来运行app。VS会启动浏览器并导航到https://localhost:<port>/WeatherForecast,其中,<port>是一个随机选择的端口号。如果你遇到了一个对话框,它问你是否应该信任IIS Express凭证,选择 是。在接下来出现的安全警告对话框中,选择Yes。
类似于如下的JSON字符串将被返回:
[ { "date": "2019-07-16T19:04:05.7257911-06:00", "temperatureC": 52, "temperatureF": 125, "summary": "Mild" }, { "date": "2019-07-17T19:04:05.7258461-06:00", "temperatureC": 36, "temperatureF": 96, "summary": "Warm" }, { "date": "2019-07-18T19:04:05.7258467-06:00", "temperatureC": 39, "temperatureF": 102, "summary": "Cool" }, { "date": "2019-07-19T19:04:05.7258471-06:00", "temperatureC": 10, "temperatureF": 49, "summary": "Bracing" }, { "date": "2019-07-20T19:04:05.7258474-06:00", "temperatureC": -1, "temperatureF": 31, "summary": "Chilly" } ]
添加一个模型类
模型,是一组类的集合,其代表了app操作的数据。对于这个app来说,模型就是一个单独的TodoItem
类。
- 在解决方案资源管理器中,右键项目,选择 添加>>新建文件夹,将文件夹命名为 Models。
- 右键 Models文件夹,选择 添加>>类,将类命名为 TodoItem 并选择 添加。
- 使用如下代码替换模板代码。
public class TodoItem { public long Id { get; set; } public string Name { get; set; } public bool IsComplete { get; set; } }
Id 属性作为关系型数据库的唯一主键。模型类可以出现在项目的任何地方,但是按照惯例,我们会使用Models 文件夹。