A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小江哥 黑马粉丝团   /  2018-4-11 15:31  /  1870 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小江哥 于 2018-4-18 11:19 编辑

一、REST来源
REST:是一组架构约束条件和原则,REST是Roy Thomas Fielding在他2000年的博士论文[M1] 中提出的。

1  Roy Thomas FieldingHTTP协议(1.0版和1.1版)的主要设计者、Apache服务器作者之一、Apache基金会第一任主席

二、什么是REST
REST(Representational State Transfer):表现层状态转移,一种软件架构风格,不是标准。既然不是标准,我可以遵守,也可以不遵守!!!
什么是表现层状态转移:

l  Representational (表现层)
l  State Transfer(状态转移):通过HTTP动词实现。

总结:URL定位资源,HTTP动词(GET,POST,PUT,DELETE)描述操作。

三、什么是RESTful
Ø  基于REST构建的API就是Restful风格。
四、为什么使用RESTful
1.JSP技术可以让我们在页面中嵌入Java代码,但是这样的技术实际上限制了我们的开发效率,因为需要我们Java工程师将html转换为jsp页面,并写一些脚本代码,或者前端代码。这样会严重限制我们的开发效率,也不能让我们的java工程师专注于业务功能的开发,所以目前越来越多的互联网公司开始实行前后端分离
2.近年随着移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为Web,iOS和Android提供服务。另外对于广大平台来说,比如微博开放平台,微信开放平台等,它们不需要有显式的前端,只需要一套提供服务的接口,RESTful无疑是最好的选择。RESTful架构如下:


五、如何设计Restful风格的API
1.路径设计
在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表名对应,一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。

2.HTTP动词设计
对于资源的具体操作类型,由HTTP动词表示,常用的HTTP动词如下:
Ø  GET:      获取资源(一项或多项)。
Ø  POST:    新建资源。
Ø  PUT:      更新资源(客户端提供改变后的完整资源)。
Ø  DELETE:删除资源。

如何通过路径和http动词获悉要调用的功能:
Ø  GET /zoos:                                  列出所有动物园
Ø  POST /zoos:                               新建一个动物园
Ø  GET /zoos/ID:                            获取某个指定动物园的信息
Ø  PUT /zoos/ID:                            更新某个指定动物园的信息(提供该动物园的全部信息)
Ø  DELETE /zoos/ID:                      删除某个动物园
Ø  GET /zoos/ID/animals:            列出某个指定动物园的所有动物
Ø  DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

推荐阅读





1 个回复

倒序浏览
我来占层楼啊   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马