使用 ASP.NET Core 创建 Web API系列

使用 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”模板,然后单击创建

使用 ASP.NET Core 创建 Web API系列_第1张图片

 

添加模型类

模型 是一组表示应用管理的数据的类。 此应用的模型是单个 TodoItem 类。

  1. 解决方案资源管理器中,右键单击项目。 选择添加” > “新建文件夹 将文件夹命名为“Models”
  2. 右键单击“Models” 文件夹,然后选择添加” > “ 将类命名为 TodoItem,然后选择添加
  3. 将模板代码替换为以下代码:

构建控制器

  • 右键单击 Controllers 文件夹。
  • 选择添加”>“新建构建项
  • 选择其操作使用实体框架的 API 控制器,然后选择添加” 

检查 PostTodoItem create 方法

替换 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

  • 安装 Postman
  • 启动 Web 应用\(在测试时,可在项目的文件夹下,运行  cmd  
  • 输入:dotnet  watch  run )

例如项目位置为:

使用 ASP.NET Core 创建 Web API系列_第2张图片

打开Cmd

使用 ASP.NET Core 创建 Web API系列_第3张图片

 

  • 启动 Postman
  • 禁用 SSL 证书验证
  • 文件”>“设置常规选项卡)中,禁用“SSL 证书验证” 

通过 Postman 测试 PostTodoItem

  • 创建新请求。
  • HTTP 方法设置为 POST
  • 选择正文选项卡
  • 选择原始单选按钮
  • 将类型设置为 JSON (application/json)
  • 在请求正文中,输入待办事项的 JSON
{

Id:5

  "name":"walk dog",

  "isComplete":true

}

选择Send

使用 ASP.NET Core 创建 Web API系列_第4张图片

 

测试位置标头 URI

  • Headers 窗格中选择Response 选项卡。
  • 复制Location 标头值:
  • 使用 ASP.NET Core 创建 Web API系列_第5张图片

 

  • 将方法设置为“GET”
  • 粘贴 URI(例如,http://localhost:52655/api/posttodoitem/6)。
  • 选择Send

 

使用 ASP.NET Core 创建 Web API系列_第6张图片

你可能感兴趣的:(DotentCore)