深入理解restfulAPI和 Oauth2.0(精简版)
一、restfulAPI
1、解释:
restfulAPI协议,我们也可以说是一套API接口编写风格。
它被现在很多企业所认可和默认,是一套成俗的API接口编写方案。
2、restfulAPI之资源
例一:
https://www.xifl.com/users/1
在PHP中,我们对数据表操作,我们会在我们的项目中构建一个model,通过控制器对model来实现基本的增删改查,并且通过视图来渲染我们获取的数据。
那么,在restfulAPI中,我们通常用全球资源定位符(URL)来表示模型数据。
简单说:资源表示模型数据。
在restfulAPI风格中,URI我们一般用复数形式,来表示模型数据的集合,例如/users , 而后面的/1 来表示数据的条数。
那么问题来了,为了统一让不同的客户端或服务商用我的接口。接口格式是统一了,怎么才能实现对资源的增删该查呢?
在http1.0或http1.1中,访问资源我们可以有不同的访问的动作。
如:
GET
POST
PUT / PATCH
DELETE
HEAD
OPTIONS
GET 我们一般用来获取资源数据。
POST 我们用来向服务器提交处理数据。
PUT / PATCH 我们用来修改资源数据。
DELETE 我们用来删除资源数据
HEAD 我们用来获取method头部信息。
OPTIONS 我们用来获取当前服务商都允许那些访问动作。
例二:
获取id为1的数据:
$http({
url: 'https://www.xifl.com/users/1',
method: 'GET',
}).success(function (result) {
//console.log()
}).error(function (errors) {
//console.log()
});
};
例三:
删除id为1的数据
$http({
url: 'https://www.xifl.com/users/1',
method: 'DELETE',
}).success(function (result) {
//console.log()
}).error(function (errors) {
//console.log()
});
};
那么来总结一下:
1、在restfulAPI中,我们通过统一的URL(全球资源定位符)来表示模型数据。
2、在restfulAPI中,我们通过http下不同的访问动作来实现对资源的常规操作。(增、删、改、查)
二、Oauth2.0
时间关系,待续。。。。。。0.0
深入理解restfulAPI和 Oauth2.0(精简版)的更多相关文章
- 心愿:做一个精简版MFC
我觉得自己有能力看懂MFC的C++代码和总体流程,但是由于MFC混杂了太多的东西,比如OLE等等不必要的东西,又做了无数的ASSERT判断,影响整体流程的理解.因此我要做一个精简版的MFC,而且能用它 ...
- OAuth2.0的理解&基础
此文章是复制黏贴网上文章的,主要做自己备用着看(也加了自己的一点见解),喜欢的读者也可以看. OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2 ...
- 深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- TeamViewer12.0.71503(远程控制软件)精简版 单文件企业版介绍
TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...
- 通用PE工具箱 4.0精简优化版
通用PE工具箱 4.0精简优化版 经用过不少 WinPE 系统,都不是很满意,普遍存在篡改主页.添加广告链接至收藏夹.未经允许安装推广软件等流氓行为,还集成了诸多不常用的工具,令人头疼不已.那么今天给 ...
- TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍
TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...
- 帮你深入理解OAuth2.0协议
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- 夺命雷公狗---微信开发53----网页授权(oauth2.0)获取用户基本信息接口(3)实现世界留言版
前面两节课我们讲的是base型的授权了,那么现在我们开始Userinfo型授权, 先来看下我们的原理图 我们这节课来做一个 世界留言版 系统 1..首先我还是在微信测试平台那里设置好回调页面的域名 2 ...
- VS合集/6.0/2005/2008/2010/2012/2013 绿色版精简版
VS合集/6.0/2005/2008/2010/2012/2013 绿色版精简版 找到这里的都是老司机,别的不多说了 链接: http://pan.baidu.com/s/1i5IyYZb ...
随机推荐
- 在项目引用里添加上对Microsoft Word 11.0 object library的引用
private void button1_Click(object sender, System.EventArgs e) { //调用打开文件对话框获取要打开的文件WORD文件,RTF文件,文本文件 ...
- python的数字
1.整数 与其它语言不同点两个乘号(**)代表 乘方运算 .前面代表底数,后面代表指数. 2.浮点数 它的小数位数可能是不确定的,需要注意 3.使用str()避免错误 在输出字符串时,可以避免类型错误 ...
- Mincost
The cost of taking a taxi in Hangzhou is not a constant for each kilometer you travel: the first 4 k ...
- eclipse 构建从 SVN 上下载的可识别的 maven 项目
从 SVN 上下载的 maven 项目中含有父项目,属于 maven 的嵌套,每个子项目和父项目虽有 pom.xml 文件,在结构上也是 maven 然而并不是 eclipse 识别的 maven 项 ...
- js获取文件上传进度
js获取文件上传进度: <input name="file" id="FileUpload" type="file" /> &l ...
- Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.
AndroidStudio升级到3.1后编译报错:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plug ...
- python模块详解 YAML和configparser
YAML模块 主要用来做配置文件用的. yaml格式: 详细参考官方文档:PyYAML configparser模块 同样是用于生成和修改配置文件用的.格式和mysql一样. 生成配置文件 impor ...
- 监控系统 - mk-livestatus
/usr/bin/unixcat /usr/lib64/check_mk/livestatus.o /etc/xinetd.d/livestatus service livestatus { type ...
- 504. Inverted Index (Map Reduce) lintcode
https://www.lintcode.com/problem/inverted-index-map-reduce/description -- decription of the map redu ...
- DOM笔记(十一):JavaScript对象的基本认识和创建
一.什么是对象? 面 向对象(Object-Oriented,OO)的语言有一个标志,那就是都有类的概念,例如C++.Java等:但是ECMAScript没有类的概 念.ECMAScript-262把 ...