ASP.NET MVC - Web API


ASP.NET Web API 是一个框架,可以轻松构建覆盖广泛客户端(包括浏览器和移动设备)的 HTTP 服务。ASP.NET Web API 是在 .NET Framework 上构建 RESTful 应用程序的理想平台。

当您在 Web 上构建 API 时,可以通过多种方式在 Web 上构建 API。其中包括 HTTP/RPC,这意味着在远程过程调用中使用 HTTP 来跨 Web 调用事物,例如方法。

动词本身包含在 API 中,例如获取客户、插入发票、删除客户,并且每个端点最终都是一个单独的 URI。

让我们通过创建新的 ASP.NET Web 应用程序来看看 Web API 的简单示例。

步骤 1 - 打开 Visual Studio 并单击文件 → 新建 → 项目菜单选项。

将打开一个新的项目对话框。

Visual Studio 单击文件

步骤 2 - 从左侧窗格中,选择模板 → Visual C# → Web。

步骤 3 - 在中间窗格中,选择 ASP.NET Web 应用程序

在“名称”字段中输入项目名称 WebAPIDemo,然后单击“确定”继续。您将看到以下对话框,要求您设置 ASP.NET 项目的初始内容。

WebAPI演示

步骤 4 - 为了简单起见,选择“空”选项并选中“添加文件夹和核心引用”部分中的 Web API 复选框,然后单击“确定”。

步骤 5 - 它将创建一个具有最少预定义内容的基本 MVC 项目。

Visual Studio 创建项目后,您将看到“解决方案资源管理器”窗口中显示许多文件和文件夹。

步骤 6 - 现在我们需要添加一个模型。右键单击解决方案资源管理器中的“模型”文件夹,然后选择“添加”→“类”。

添加模型

您现在将看到“添加新项目”对话框。

添加项目对话框

步骤 7 - 在中间面板中选择 Class,然后在名称字段中输入 Employee.cs。

步骤 8 - 使用以下代码向 Employee 类添加一些属性。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebAPIDemo.Models {
   public class Employee{
      public int ID { get; set; }
      public string Name { get; set; }
      public DateTime JoiningDate { get; set; }
      public int Age { get; set; }
   }
}

步骤 9 - 让我们添加控制器。右键单击解决方案资源管理器中的控制器文件夹,然后选择添加 → 控制器。

它将显示“添加支架”对话框。

选择添加控制器

步骤 10 - 选择 Web API 2 控制器 - 空选项。该模板将为控制器创建一个具有默认操作的 Index 方法。

步骤 11 - 单击“添加”按钮,将出现“添加控制器”对话框。

添加按钮控制器

步骤12 - 将名称设置为EmployeesController,然后单击“添加”按钮。

您将在 Controllers 文件夹中看到一个新的 C# 文件“EmployeeController.cs”,该文件已打开,可在 Visual Studio 中使用一些默认操作进行编辑。

using System;
using System.Collections.Generic;
using System.Linq;

using System.Web.Http;
using WebAPIDemo.Models;

namespace WebAPIDemo.Controllers{
   public class EmployeesController : ApiController{
      Employee[] employees = new Employee[]{
         new Employee { ID = 1, Name = "Mark", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 30 },
         new Employee { ID = 2, Name = "Allan", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 35 },
         new Employee { ID = 3, Name = "Johny", JoiningDate =
            DateTime.Parse(DateTime.Today.ToString()), Age = 21 }
      };
		
      public IEnumerable<Employee> GetAllEmployees(){
         return employees;
      }
		
      public IHttpActionResult GetEmployee(int id){
         var employee = employees.FirstOrDefault((p) => p.ID == id);
         if (employee == null){
            return NotFound();
         }
         return Ok(employee);
      }
   }
}

步骤 13 - 运行此应用程序并在 URL 末尾指定 /api/employees/ 并按“Enter”。您将看到以下输出。

指定 API 员工

步骤 14 - 让我们指定以下 URL http://localhost:63457/api/employees/1,您将看到以下输出。

本地主机 API 员工