现在的互联网应用,无论是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数据接口快速开发利器啊。

使用Asp.net WebAPI 快速构建后台数据接口的更多相关文章

  1. [外包]!采用asp.net core 快速构建小型创业公司后台管理系统(六.结语)

    到这里就结束了,真的结束了,源码会在文末分享! 另外录了两个视频,对这个系统进行了演示! 做有意义的事情,原此生无悔! 视频地址:使用asp.net core 快速构建权限管理模块1 使用asp.ne ...

  2. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  3. Mock模拟后台数据接口--再也不用等后端的API啦

    ok,在开发中经常需要从后台获取数据,那么有时候后台的数据接口并没有写好,所以这时候,就需要自己模拟数据接口,来实现前端逻辑, 今天数的就是阿里巴巴的一款mock产品,很好用的哦!!!! ok!这是我 ...

  4. 如何让Asp.net webAPI返回JSON格式数据

    ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範 ...

  5. 快速构建大数据存储分析平台-ELK平台安装

    一.概述 ELK是由Elastic公司开发的Elasticsearch.Logstash.Kibana三款开源软件的缩写(但不限于这三款软件). 为什么使用ELK? 在目前流行的微服务架构中,一个大型 ...

  6. DataTables学习:从最基本的入门静态页面,使用ajax调用Json本地数据源实现前端开发深入学习,根据后台数据接口替换掉本地的json本地数据,以及报错的处理地方,8个例子(显示行附加信息,回调使用api,动态显示和隐藏列...),详细教程

    一.DataTables  个人觉得学习一门新的插件或者技术时候,官方文档是最根本的,入门最快的地方,但是有时候看完官方文档,一步步的动手写例子,总会出现各种莫名其妙的错误,需要我们很好的进行研究出错 ...

  7. Android后台数据接口交互实现注册功能

    首先,在ecplise里面新建一个叫做TestServices的web工程.在WebContent--WEB-INF--libs文件夹下导入两个jar包:mysql-connector-java-6. ...

  8. EF快速开发定义数据接口类(转)

    using System; using System.Linq; using System.Linq.Expressions; using System.Data.Objects; namespace ...

  9. vue -webpack.dev.config.js模拟后台数据接口

    在const portfinder = require('portfinder')后面添加 const express = require('express') const app = express ...

随机推荐

  1. uva 12034

    /* 比赛的名次的所有方案数 _________________________________________________________________________________ #in ...

  2. c# CLI托管工程开启调试c++库工程代码

    启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging

  3. jquery之文档操作

    append(content|fn) 向每个匹配的元素内部添加内容(元素内部) appendTo(content) 把所有匹配的元素追加到另一个指定的元素中(元素内部) prepend(content ...

  4. MyBatis代码自动生成(利用eclipse插件)

    上一篇文章已经介绍了利用命令的方式自动生成mybatis代码,但是每次都去运行cmd命令感觉还是有点麻烦,所以找了些资料发现eclipse里面也可以安装插件自动生成代码,下面简单介绍一下,也是给自己以 ...

  5. c#线程之异步委托begininvoke、invoke、AsyncWaitHandle.WaitOne 、异步回调

    单靠自己看书学总是会走很多弯路,任何人也不列外,有些时候自己遇到的很多问题,其它别人在很久之前也可能遇到过,上网查查可以走很大捷径,对自己的学习有很大帮助,刚开始弄线程这块,一开始只是看书,很多东西都 ...

  6. python---difflib

    文件内容差异对比 difflib为python的标准库模块,无需安装.作用时对比文本之间的差异.并且支持输出可读性比较强的HTML文档,与LInux下的diff 命令相似.在版本控制方面非常有用. # ...

  7. 1001. 害死人不偿命的(3n+1)猜想 (15)

    1001. 害死人不偿命的(3n+1)猜想 (15) 较简单,直接代码实现: #include <cstdio> int main() { int n; scanf("%d&qu ...

  8. 【zz】MIT牛人解说数学体系

    作者:林达华 一.为什么要深入数学的世界 作为计算机的学生,我(原作者)没有任何企图要成为一个数学家.我学习数学的目 的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. ...

  9. python 获取当前目录下文件(转)

    今天继续整理原来写的 python 代码,下面是获取文件信息的 python 处理代码. 获取指定目录下文件的文件名以及文件的数量,然后列出其中还存在的目录名称: #!/usr/bin/env pyt ...

  10. seaJs的简单应用

    sea.js的应用模块化: 将Js代码按模块化分开,提高了代码的重用性:seaJs的好处: 解决了文件的依赖 解决了变量名的冲突seaJs的使用 1.定义模块 define(function(requ ...