• 简单的ASP.NET Web API代码示例


    前言:

    一个简单的Web API实例,通过自己编写Web API的代码来可以更好的感悟Web API的运行机制,废话不多说,直接上代码,希望同为初学者的同学能够跟着敲一遍,所有代码通过调试,可自行在原有基础上进行修改和扩展,有任何疑问还请不吝赐教。

    正文:

    1、首先创建一个空的Web项目,注意是Empty,而非Web API

     

    注意:

    这里一定要引入如下DLL:

    Json.NET

    System.NET.Http 

    System.Web.Http

    System.Web.Http.WebHost

     

    1.1. 大体的目录是这样的,没有明确规定,读者可自行拟定目录

     

    2、首先创建一个WebApiConfig的配置文件,这里名称可自行拟定,主要用来定义Web API的路由

     

     详细代码如下:

     1 namespace Ryan4_WebAPI_Application_01
     2 
     3 {
     4 
     5     public class WebApiConcifg
     6 
     7     {
     8 
     9         public static void Register(HttpConfiguration config)
    10 
    11         {
    12 
    13             config.Routes.MapHttpRoute(
    14 
    15                 name: "DefaultApi",
    16 
    17                 routeTemplate: "api/{controller}/{action}/{id}",
    18 
    19                 defaults: new { id = RouteParameter.Optional }
    20 
    21                 );
    22 
    23         }
    24 
    25     }
    26 
    27 }

     

    接下来必须要创建一个asax文件,来注册这个定义的API Route

    在Application_Start中加入如下代码,有了这句后方能在程序运行后使用Web API方式定位你的控制器和方法

     1         protected void Application_Start(object sender, EventArgs e)
     2         {
     3             Web_API_Config.Register(GlobalConfiguration.Configuration);
     4         }
     5 
     6         protected void Session_Start(object sender, EventArgs e)
     7         {
     8 
     9         }
    10 
    11         protected void Application_BeginRequest(object sender, EventArgs e)
    12         {
    13 
    14         }
    15 
    16         protected void Application_AuthenticateRequest(object sender, EventArgs e)
    17         {
    18 
    19         }
    20 
    21         protected void Application_Error(object sender, EventArgs e)
    22         {
    23 
    24         }
    25 
    26         protected void Session_End(object sender, EventArgs e)
    27         {
    28 
    29         }
    30 
    31         protected void Application_End(object sender, EventArgs e)
    32         {
    33 
    34         }
    35     }

     3、创建数据实体Users.cs

     

     详细代码如下:

     1 namespace Ryan4_WebAPI_Application_01.Model.Entities
     2 
     3 {
     4 
     5     public class Users
     6 
     7     {
     8 
     9         public int Id { get; set; }
    10 
    11         public string UName { get; set; }
    12 
    13         public string UPass { get; set; }
    14 
    15         public int UAge { get; set; }
    16 
    17         public string UAddress { get; set; }
    18 
    19     }
    20 
    21 }

     

    4、创建控制器:UserController.cs

     

     

     1 namespace Ryan4_WebAPI_Application_01.Controller
     2 
     3 {
     4 
     5     public class UserController : ApiController
     6 
     7     {
     8 
     9         public List<Users> GetUser()
    10 
    11         {
    12 
    13             var userList = new List<Users>
    14 
    15             {
    16 
    17                 new Users { Id = 1, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    18 
    19                 new Users { Id = 2, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    20 
    21                 new Users { Id = 3, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    22 
    23                 new Users { Id = 4, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    24 
    25                 new Users { Id = 5, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    26 
    27                 new Users { Id = 6, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    28 
    29                 new Users { Id = 7, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    30 
    31                 new Users { Id = 8, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    32 
    33                 new Users { Id = 9, UName = "Ryan Chow", UPass = "123456", UAge = 27, UAddress = "Earth"},
    34 
    35             };
    36 
    37  
    38 
    39             var temp = (from u in userList select u).ToList();
    40 
    41             return temp;
    42 
    43         }
    44 
    45     }
    46 
    47 }

     

    5、最后F5调试项目,输入localhost:5381/api/user/getuser

  • 相关阅读:
    留言板!
    NX二次开发-OLE/COM向EXCEL表格中插入图片
    NX二次开发-UFUN读取图纸尺寸的值UF_DRF_ask_dimension_text
    NX二次开发-UFUN修剪体UF_MODL_trim_body
    NX二次开发-UFUN相加布尔操作,可保留或删除目标体,工具体UF_MODL_unite_bodies_with_retained_options
    C++之判断字符串是否是数字
    CommandLineToArgvW调EXE传入参数【转载】
    NX二次开发-用户自定义资源栏选项卡RegisterActivationCallback
    NX二次开发-自定义添加右键菜单RegisterConfigureContextMenuCallback
    NX二次开发-调系统命令UF_load_library[UFUN调DLL]
  • 原文地址:https://www.cnblogs.com/zhoulingxiang/p/6510686.html
Copyright © 2020-2023  润新知