【译】ASP.NET Core Web APIs(四):教程:使用ASP.NET Core 创建一个Web API

本教程将介绍使用ASP.NET Core创建一个Web API的基础知识。

在本教程中,你将学到如何:

  1. 创建一个Web API 工程
  2. 添加一个模型类以及一个数据库上下文
  3. 基于基架生成一个带有CRUD方法的控制器
  4. 配置路由,URL Path以及返回值
  5. 使用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的设计:

【译】ASP.NET Core Web APIs(四):教程:使用ASP.NET Core 创建一个Web API

预先条件

创建一个Web 工程

  • 选择 文件 菜单,选择 新建>>项目。
  • 选择 ASP.NET Core Web Application 模板,并点击 下一步。
  • 将项目命名为 TodoApi  并点击 创建。
  • 在 Create a new ASP.NET Core Web Application 对话框中,确保 .NET Core 和 ASP.NET Core 3.1 被选中,选择API 模板,然后点击 创建。

【译】ASP.NET Core Web APIs(四):教程:使用ASP.NET Core 创建一个Web 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 文件夹。

【译】ASP.NET Core Web APIs(四):教程:使用ASP.NET Core 创建一个Web API

上一篇:C#反射Helper


下一篇:C#创建一个简单的WCF程序并调用