使用Asp.net WebAPI 快速构建后台数据接口

时间:2022-07-04 04:57:51

现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口。其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架。下面我们来快速构建一个基础数据操作接口。

  1. 新建项目

    使用Asp.net WebAPI 快速构建后台数据接口

  2. 选择WebApi,并使用空模板(这里不想要一些其他的mvc的东西)

    使用Asp.net WebAPI 快速构建后台数据接口

  3. 新建一个model

    使用Asp.net WebAPI 快速构建后台数据接口

    使用Asp.net WebAPI 快速构建后台数据接口

  4. 写几个属性

namespace WebApplication3.Models

{

public
class
Test

{

public
int id { set; get; }

public
string name { set; get; }

}

}

  1. 新增控制器

    使用Asp.net WebAPI 快速构建后台数据接口

    使用Asp.net WebAPI 快速构建后台数据接口

    这里也用了空的控制器,避免多余代码干扰,其实后期可以写CodeSmith模板生成。

  2. 添加代码

    使用Asp.net WebAPI 快速构建后台数据接口

using System.Collections.Generic;

using System.Linq;

using System.Web.Http;

using WebApplication3.Models;

namespace WebApplication3.Controllers

{

public
class
TestController : ApiController

{

Test[] products = new
Test[]

{

new
Test { id = 1, name = "Tomato Soup"},

new
Test { id = 2, name = "Yo-yo" },

new
Test { id = 3, name = "Hammer" }

};

public
IEnumerable<Test> GetAllProducts()

{

return products;

}

public
IHttpActionResult GetProduct(int id)

{

var product = products.FirstOrDefault((p) => p.id == id);

if (product == null)

{

return NotFound();

}

return Ok(product);

}

[HttpPost]

public
IHttpActionResult PostTest([FromBody]Test t)

{

var product = products.FirstOrDefault((p) => p.id == t.id);

if (product == null)

{

return NotFound();

}

return Ok(product);

}

}

}

  1. 运行页面

    使用Asp.net WebAPI 快速构建后台数据接口

    这里注意路由规则,api/控制器名称/id

  2. 也许你会说,我希望返回JSON格式的,好吧,增加下面两句。

    使用Asp.net WebAPI 快速构建后台数据接口

    其实就是修改Config的Formatter,使用JsonMediaTypeFormatter就好了。

  3. 你想问Post怎么调用?

    使用Asp.net WebAPI 快速构建后台数据接口

    当然也可以直接从Form中取值。例如:$("#SearchForm").serialize(),

  4. 能查询当然也能够进行增删改喽。
  5. WebApi只有路由等基本框架,数据库操作完全可以自行选择,ADO.net, EF,nhibernate都可以。
  6. 果然是手机APP数据接口快速开发利器啊。