使用Asp.net WebAPI 快速构建后台数据接口
现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口。其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架。下面我们来快速构建一个基础数据操作接口。
- 新建项目
- 选择WebApi,并使用空模板(这里不想要一些其他的mvc的东西)
- 新建一个model
- 写几个属性
namespace WebApplication3.Models
{
public
class
Test
{
public
int id { set; get; }
public
string name { set; get; }
}
}
- 新增控制器
这里也用了空的控制器,避免多余代码干扰,其实后期可以写CodeSmith模板生成。
- 添加代码
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);
}
}
}
- 运行页面
这里注意路由规则,api/控制器名称/id
- 也许你会说,我希望返回JSON格式的,好吧,增加下面两句。
其实就是修改Config的Formatter,使用JsonMediaTypeFormatter就好了。
- 你想问Post怎么调用?
当然也可以直接从Form中取值。例如:$("#SearchForm").serialize(),
- 能查询当然也能够进行增删改喽。
- WebApi只有路由等基本框架,数据库操作完全可以自行选择,ADO.net, EF,nhibernate都可以。
- 果然是手机APP数据接口快速开发利器啊。
使用Asp.net WebAPI 快速构建后台数据接口的更多相关文章
- [外包]!采用asp.net core 快速构建小型创业公司后台管理系统(六.结语)
到这里就结束了,真的结束了,源码会在文末分享! 另外录了两个视频,对这个系统进行了演示! 做有意义的事情,原此生无悔! 视频地址:使用asp.net core 快速构建权限管理模块1 使用asp.ne ...
- 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mock模拟后台数据接口--再也不用等后端的API啦
ok,在开发中经常需要从后台获取数据,那么有时候后台的数据接口并没有写好,所以这时候,就需要自己模拟数据接口,来实现前端逻辑, 今天数的就是阿里巴巴的一款mock产品,很好用的哦!!!! ok!这是我 ...
- 如何让Asp.net webAPI返回JSON格式数据
ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範 ...
- 快速构建大数据存储分析平台-ELK平台安装
一.概述 ELK是由Elastic公司开发的Elasticsearch.Logstash.Kibana三款开源软件的缩写(但不限于这三款软件). 为什么使用ELK? 在目前流行的微服务架构中,一个大型 ...
- DataTables学习:从最基本的入门静态页面,使用ajax调用Json本地数据源实现前端开发深入学习,根据后台数据接口替换掉本地的json本地数据,以及报错的处理地方,8个例子(显示行附加信息,回调使用api,动态显示和隐藏列...),详细教程
一.DataTables 个人觉得学习一门新的插件或者技术时候,官方文档是最根本的,入门最快的地方,但是有时候看完官方文档,一步步的动手写例子,总会出现各种莫名其妙的错误,需要我们很好的进行研究出错 ...
- Android后台数据接口交互实现注册功能
首先,在ecplise里面新建一个叫做TestServices的web工程.在WebContent--WEB-INF--libs文件夹下导入两个jar包:mysql-connector-java-6. ...
- EF快速开发定义数据接口类(转)
using System; using System.Linq; using System.Linq.Expressions; using System.Data.Objects; namespace ...
- vue -webpack.dev.config.js模拟后台数据接口
在const portfinder = require('portfinder')后面添加 const express = require('express') const app = express ...
随机推荐
- linux KERNEL 问题
http://stackoverflow.com/questions/9305992/linux-threads-and-process 深入 Linux 的进程优先级(vruntime) https ...
- 10天学会phpWeChat——第二天:hello world!我的第一个功能模块
今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...
- WPF 重新启动该程序
// Restart current process Method 1 System.Windows.Forms.Application.Restart(); Application.Current. ...
- 20160113 js中选择多个check一块删除
js中<script type="text/javascript"> $(document).ready(function (e) { $("#Button2 ...
- jmeter录制移动APP脚本
一.准备环境 准备好jmeter运行环境 在电脑端安装无线Wifi插件,保证手机与电脑处于同一个局域网中 如果本机JDK版本为1.6,则升级JDK版本至1.7,否则,在HTTPS Domains中无法 ...
- Rails 之微信开发 : OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
微信公众平台,使用Ruby On Rails + Win7 在取得OpenID时,如果简单的使用http.get方法,会出现如下 SSL_connect returned=1 errno=0 stat ...
- 【DNS】简单聊聊DNS如何工作
随便聊聊 我们知道,网络上传输的数据包是一层一层的包起来的,典型的是mac地址层,ip层,tcp/udp层,应用层数据 这么几个层,那用户在浏览器中打开www.baidu.com数据包如何传到baid ...
- 循环语句--for
1.guess_age优化版v1.py #coding=utf-8 age = 22 for i in range(10): if i < 3: guess_num = int(input('i ...
- BizTalk调用WS-Security的web services
最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web se ...
- matlab 车牌分割的算法
function Touying(g) f=rgb2gray(g); % [m n]=size(f); [row col]=size(f); % T=graythresh(f) % T=T*255 % ...