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 Click File

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

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

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

WebAPIDemo

步骤4 - 为简化起见,选择“空”选项,并在“添加用于”部分选中Web API复选框,然后单击“确定”。

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

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

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

Add a Model

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

Add Item Dialog

步骤7 - 在中间窗格中选择“类”,并在名称字段中输入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 - 让我们添加控制器。右键单击解决方案资源管理器中的控制器文件夹,然后选择添加→控制器。

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

Select Add Controller

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

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

 Add Button Controller

步骤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”。您将看到以下输出。

Specify API Employees

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

Localhost API Employees
广告