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,然后单击:文件 -> 新建 -> 项目 菜单选项。
一个新的项目对话框打开。如下图所示 -

第2步 - 在左侧窗格中,选择:模板 -> visual c# -> web 。
第3步 - 在中间窗格中,选择“asp.net web应用程序”,在名称字段中输入项目名称:webapidemo ,然后单击确定 以继续。将看到以下对话框,要求您为asp.net项目设置初始内容。如下图所示 -

第4步 - 为了简单起见,请选择: 空 选项,并在“为以下项添加文件夹和核心引用” 部分中选中web api 复选框,然后单击 确定 。
第5步 - 它将创建一个基本的mvc项目与最小的预定义的内容。
项目由visual studio创建后,在“解决方案资源管理器”窗口中看到许多文件和文件夹。
第6步 - 现在需要添加一个模型。右键单击解决方案资源管理器 中的models 文件夹,然后选择:添加 -> 类。将看到添加新项目对话框。
第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步 - 添加控制器。右键单击解决方案资源管理器 中的controllers 文件夹,然后选择:添加 -> 控制器 。它将显示“添加基架”对话框 -

第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.net;
using system.net.http;
using system.web.http;
using webapidemo.models;
namespace webapidemo.controllers
{
public class employeescontroller : apicontroller
{
employee[] employees = new employee[]{
new employee { id = 1, name = "maxsu", 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 = "avgwong", 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:http://localhost:58150/api/employees/,然后按“enter”。将看到以下输出 -

第14步 - 再次访问url:http://localhost:58150/api/employees/1,将看到以下输出 -
