MVC专题 专题
您的位置:csharp > MVC专题专题 > ASP.Net MVC Web API
ASP.Net MVC Web API
作者:--    发布时间:2019-11-19

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,将看到以下输出 -


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册