- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1/66;;;议题
REST是什么
REST式服务特点
REST式服务优点
云学堂RESTful API;REST是什么
REST(Representational State Transfer):表示性状态转移,分布式超媒体软件一个架构格调 --源自Roy Thomas Fielding博士论文。
一套简单设计标准、一个架构格调(或模式),不是一个详细标准或架构。
基于使用HTTP、URI等现有广泛流行协议和标准
对Web本质回归,一个真实描述Web方式
REST目标:寻找Web特征,然后使用这些特征来指导Web设计
;议题
REST是什么
REST式服务特点
REST式服务优点
云学堂RESTful API;REST式服务特点
???络上全部事物都被抽象为资源, 每个资源对应一个唯一资源标识URI
经过HTTP协议方法作连接器对资源进行操作
对资源任何操作不改变资源标识URI
全部服务器操作都是无状态
;议题
REST是什么
REST式服务特点
REST式服务优点
云学堂RESTful API;REST式服务优点
能够利用缓存Cache来提升响应速度
通讯本身无状态性能够让不一样服务器处理一系列请求中不一样请求,提升服务器扩展性
浏览器即可作为客户端,简化软件需求
相对于其它叠加在HTTP协议之上机制,REST软件依赖性更小
不需要额外资源发觉机制
在软件技术演进中长久兼容性更加好
;议题
REST是什么
REST式服务特点
REST式服务优点
云学堂RESTful API;云学堂RESTful API
架构设计 /attachments/277/BackEnd%20Design.png;云学堂RESTful API
协议
HTTPS更佳,条件限制时采取HTTP
域名
专用域名
版本
/v1/
URI
集合资源 /v1/orgs (英文单词复数)
单个资源 /v1/orgs/1625fdcb-2f44-4949-9e5d-8247e0f77a8c (唯一标识这个资源id,不限于uuid)
隶属关系
/v1/orgs/
/v1/orgs/1625fdcb-2f44-4949-9e5d-8247e0f77a8c
/v1/orgs/1625fdcb-2f44-4949-9e5d-8247e0f77a8c/users
/v1/orgs/1625fdcb-2f44-4949-9e5d-8247e0f77a8c/users/18ef1d08-803c-4f2c-a79e-a6edc839e5db
;云学堂RESTful API
HTTP方法
GET:获取(SELECT)
POST:新建(CREATE)
PUT:更新(UPDATE)
DELETE:删除(DELETE)
HTTP方法 + URI ? API
POST+集合资源URI:在服务器新建一个资源。
GET+集合资源URI:从服务器取出资源列表。
GET+单个资源URI:在服务器取出特定资源。
PUT+单个资源URI:在服务器更新特定资源。
DELETE+单个资源URI:从服务器删除资源。
;云学堂RESTful API
请求头
Source
标识调用方类别 (101,102,103,201,202...)
Token
标识当前操作者身份
Content-Type
标识请求体内容格式 (application/json)
Origin
用于设定js跨域访问时允许域名
User-agent
标识当前请求所用操作系统和浏览器信息
X-FORWARDED-FOR
IIS服务器端调用RESTful API时需要传递客户端ip
;云学堂RESTful API
请求参数
主要用于获取资源列表类型API
排序
?order=email%20asc 参数值为字段名+%20+asc或desc
分页
?offset=30limit=10 分别用于指定返回统计开始位置和每页统计数
请求体
HTTP方法为POST/PUT时需要
详细定义需看API文档;云学堂RESTful API
响应状态码
200 OK - [GET]:服务器成功返回用户请求数据。
201 CREATED - [POST/PUT]:用户新建或修改数据成功。
204 NO CONTENT - [DELETE]:用户删除数据成功。
400 INVALID REQUEST - [POST/PUT]:用户发出请求有错误。
401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
403 Forbidden - [*] 表示用户得到授权(与401错误相对),不过访问是被禁止。
404 NOT FOUND
原创力文档


文档评论(0)