深入理解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 ...
随机推荐
- dll托管于非托管
托管的DLL组件可以在VS 直接添加引用,在使用using dll的文件命名空间就可以使用 非托管的DLL组件,只能通过using system.Runtime.InteropServices:引入 ...
- [转]开发中如何解决SQL注入的问题
Java防止SQL注入 SQL 注入简介: SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了SQL的空子,下面 ...
- 微信小程序实战篇:基于wxcharts.js绘制移动报表
前言 微信小程序图表插件(wx-charts)是基于canvas绘制,体积小巧,支持图表类型饼图.线图.柱状图 .区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个. ...
- [持续更新] Linux基础的重要命令
命令总结:100个左右 mkdir 方法一 [root@localhost ~]# mkdir /test && ls -ld /test 方法二 [root@localhost ~] ...
- JQuery中Checkbox选择
判断是否选中 $(this).is(":checked") 取消选中 $(this).prop("checked", false) 选中 $(this).pro ...
- 刚刚写的一个lua下解释csv的工具。
csvtool = {} function csvtool:csv2table(filename) if type(filename) ~= "string" or filenam ...
- check_mk 之 Configuration variables
Basic settings #check_parameters This is a configuration list assigning specific check parameters to ...
- Arduino入门教程--课前准备--Arduino驱动安装及1.0 IDE菜单介绍
编译器版本:Arduino 1.0实验器件:ocrobot mango控制板(Arduino兼容)一块 Arduino控制板到手后,首先需要在电脑上把驱动装上,这样才可以进行各种实验. 第一步需要把A ...
- 如何启用SAP C4C OData Event Notification
当我们在试图使用SAP C4C OData事件通知这个功能时,如果遇到下列提示消息,说明这个功能在business configuration里没有开启: The OData Event Notifi ...
- 154. Find Minimum in Rotated Sorted Array II(Binary search)
https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/description/ -- leetcode follo ...