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 中,例如 GetCustomers, InsertInvoice, DeleteCustomer,并且每个端点最终都会成为一个单独的 URI。
让我们通过创建新的 ASP.NET Web 应用程序来看看 Web API 的简单示例。
步骤 1 − 打开 Visual Studio 并单击 File → New → Project 菜单选项。
打开一个新的项目对话框。
步骤 2 − 从左侧窗格中选择 Templates → Visual C# → Web。
步骤 3 − 在中间窗格中,选择 ASP.NET Web 应用程序
在"名称"字段中输入项目名称 WebAPIDemo,然后单击"确定"继续。 您将看到以下对话框,要求您设置 ASP.NET 项目的初始内容。
步骤 4 − 为了简单起见,请选择"空"选项,然后选中"添加文件夹和核心引用"部分中的 Web API 复选框,然后单击"确定"。
步骤 5 − 它将创建一个具有最少预定义内容的基本 MVC 项目。
Visual Studio 创建项目后,您将看到"解决方案资源管理器"窗口中显示许多文件和文件夹。
步骤 6 −现在我们需要添加一个模型。 右键单击解决方案资源管理器中的 Models 文件夹,然后选择 Add → Class。
您现在将看到"添加新项目"对话框。
步骤 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 − 让我们添加控制器。 右键单击解决方案资源管理器中的控制器文件夹并选择 Add → Controller。
它将显示"添加支架"对话框。
步骤 10 − 选择 Web API 2 Controller - Empty 选项。 该模板将为控制器创建一个具有默认操作的 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"。 您将看到以下输出。
步骤 14 − 让我们指定以下 URL http://localhost:63457/api/employees/1,您将看到以下输出。