首先RestFul API是一种接口设计规范!!!

然而Restful有个很高大上的解释:表现层状态转移。what!这样谁看得懂

这样我先从Rest解释,解释的不好在评论上请加上你的理解,谢谢。

REST全称是  Resource Representational State Transfer  ,意思就是资源在网络中以某种表现形式进行状态转移。表格形式如下:

解释
Resource  资源。如 http://api.example.com/goods  中goods是该资源的获取处
Representational

某种表现形式,如用JSON,XML,JPEG等

State Transfer 状态变化。通过HTTP动词实现


有了上面的表格我举个例子来讲:

GET http://api.example.com/goods/1       

以上是获取货物的例子,在Restful中所有资源均不以动词形式出现,所以goods是名词,而不是以往的  GET http://api.example.com/getGoods?id=1    X

但是一个名词怎么能代表获取资源了(获取资源可是一个动词啊),这时候HTTP动词  GET会将其转为 "获取" 的动作,而类似的HTTP动词如下:

HTTP请求 解释
GET /goods/1 返回指定id商品
POST /goods 新增商品
PUT /goods/1 修改id为1商品
DELETE /goods/1 删除id为1商品


最后最后,上面是我们请求的格式,响应的时候需要带上我们看的懂的状态码如:

GET /goods/1   对应    200 OK

POST /goods   对应    201 CREATED

PUT /goods/1  对应    202 UPDATED

DELETE /goods/1   对应    204 NO CONTENT

注:要让我们看到返回状态码就知道干了什么~~~~~~~~~~~


总结一句话:看url就知道要什么、看http method就知道干什么、看http status code就知道结果如何