zoukankan      html  css  js  c++  java
  • 使用Asp.net WebAPI 快速构建后台数据接口

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

    1. 新建项目

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

    3. 新建一个model

       

       

    4. 写几个属性

       

     

    namespace WebApplication3.Models

    {

    public class Test

    {

    public int id { set; get; }

     

    public string name { set; get; }

    }

    }

    1. 新增控制器

       

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

    2. 添加代码

       

    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. 运行页面

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

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

       

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

    3. 你想问Post怎么调用?

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

    4. 能查询当然也能够进行增删改喽。
    5. WebApi只有路由等基本框架,数据库操作完全可以自行选择,ADO.net, EF,nhibernate都可以。
    6. 果然是手机APP数据接口快速开发利器啊。
  • 相关阅读:
    sed
    UCOSIII(二)
    UCOSIII(一)
    IIC
    SPI
    vii
    find
    grep
    Scrum项目4.0
    Scrum项目3.0
  • 原文地址:https://www.cnblogs.com/lanwilliam/p/6022969.html
Copyright © 2011-2022 走看看