REST和REST ful
摘自网上资料。尾处注明转载链接,仅供学习理解。
REST
什么是REST
全称 | 描述 |
---|---|
REpresentational State Transfer | 表现层状态转移 |
Resource Representational State Transfer | 表现层状态转移 |
即:资源在网络中以某种表现形式进行状态转移
Resource:资源,即数据(前面说过网络的核心)。比如 newsfeed,friends等;
Representational:某种表现形式,比如用JSON,XML,JPEG等;
State Transfer:状态变化。通过HTTP动词实现。
其中HTTP常用动词如下:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源。
一般用的最多的就是GET和POST,获取资源使用GET方法,删除、更新、添加均使用POST方法
例如:
方法 | URL | 说明 |
---|---|---|
GET | http://xxxx/users | 获取用户列表 |
POST | http://xxxx/users | 创建用户 |
PUT | http://xxxx/users/1 | 更新id为1的用户 |
DELETE | http://xxxx/users/1 | 删除id为1的用户 |
- REST ful
RESTful API实用的是如何正确地理解 RESTful架构和设计好RESTful API。首先为什么要用RESTful结构呢?大家都知道”古代”网页都是前端后端融在一起的,比如之前的PHP,JSP等。在之前的桌面时代问题不大,但是近年来移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为 Web,iOS和Android提供服务。另外对于广大平台来说,比如Facebook platform,微博开放平台,微信公共平台等,它们不需要有显式的前端,只需要一套提供服务的接口,于是RESTful更是它们最好的选择。在RESTful架构下:
相关案例:
BAD
/getProducts
/listOrders
/retrieveClientByOrder?orderId=1
GOOD
GET /products : will return the list of all products
POST /products : will add a product to the collection
GET /products/4 : will retrieve product #4
PATCH/PUT /products/4 : will update product #4