博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebApi系列~基于RESTful标准的Web Api
阅读量:6887 次
发布时间:2019-06-27

本文共 2583 字,大约阅读时间需要 8 分钟。

 

微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下:

GET:生到数据列表(默认),或者得到一条实体数据

POST:添加服务端添加一条记录,记录实体为Form对象

PUT:添加或修改服务端的一条记录,记录实体的Form对象,记录主键以GET方式进行传输

DELETE:删除 服务端的一条记录

注意上面公开的API接口都是在XMLHttpRequest情况下调用的,当然你可以使用jquery的ajax组件来完成这个请求调用,它的代码更加面向对象,下面举例说明一下

这是页面的HTML代码部分,实现最基本的CRUD操作

测试Web Api
添加(post)
更新(put)
删除(delete)
列表(Get)
实体(Get)

下面是ApiController部分的代码:

///     /// Test模块API    /// URI:/Api/Test    ///     public class TestController : ApiController    {        ///         /// User Data List        ///         private readonly List
_userList = new List
{ new Users {UserID = 1, UserName = "zzl", UserEmail = "bfyxzls@sina.com"}, new Users {UserID = 2, UserName = "Spiderman", UserEmail = "Spiderman@cnblogs.com"}, new Users {UserID = 3, UserName = "Batman", UserEmail = "Batman@cnblogs.com"} }; ///
/// 得到列表对象 /// ///
public IEnumerable
Get() { return _userList; } ///
/// 得到一个实体,根据主键 /// ///
///
public Users Get(int id) { return _userList.FirstOrDefault(i => i.UserID == id); } ///
/// 添加 /// ///
表单对象,它是唯一的 ///
public Users Post([FromBody] Users entity) { _userList.Add(entity); return entity; } ///
/// 更新 /// ///
主键 ///
表单对象,它是唯一的 ///
public Users Put(int id, [FromBody]Users entity) { var user = _userList.FirstOrDefault(i => i.UserID == id); if (user != null) { user.UserName = entity.UserName; user.UserEmail = entity.UserEmail; } return user; } ///
/// 删除 /// ///
主键 ///
public void Delete(int id) { _userList.Remove(_userList.FirstOrDefault(i=>i.UserID==id)); } }

下面我们看一下各个操作调用的结果:

添加操作(POST)

更新操作(PUT)

 

最后,再强调一下,web api使用RESTful架构的,不像传统的(同是SOAP的) RPC方式的wcf和web Service,它强调的是接口模块的概念,每个模块都是独立的,每个模块的接口方法都是统一的和单一的,即CRUD方法组成。

转载地址:http://swxbl.baihongyu.com/

你可能感兴趣的文章
iOS设计模式 - 代理
查看>>
iOS开发网络篇—HTTP协议
查看>>
设置导航栏控制器背景色
查看>>
【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计
查看>>
android EventBus详解(二)
查看>>
【sql调优】系统信息统计
查看>>
2015年上海hadoop in china见闻
查看>>
《Netty 权威指南》—— 伪异步IO编程
查看>>
02-Twisted 构建 Web Server 的 Socket 长链接问题 | 07.杂项 | Python
查看>>
胖子哥的大数据之路(12)-三张图告诉你大数据安全方案设计
查看>>
在linux上通过ssh直接登录到windows系统上,不用密码
查看>>
【JavaScript】JavaScript基础-基本数据类型与常量和关键字
查看>>
1.22 OpenSearch商业化通知
查看>>
读取复制图片文件
查看>>
数据处理平台架构中的SMACK组合:Spark、Mesos、Akka、Cassandra以及Kafka
查看>>
Android-指纹登录
查看>>
Android组件化最佳实践-ARetrofit
查看>>
利用 python 和 lint 删除项目无用资源
查看>>
node文件流导出excel且显示中文文件名
查看>>
登录和第三方授权,TCP和IP详解
查看>>