我眼中的RestFul API是怎样的

来源:互联网 发布:网络视频管理服务器 编辑:程序博客网 时间:2024/05/02 01:02

好久没写了,那我就写着restful先把。

首先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就知道结果如何


参考文章:https://www.zhihu.com/question/28557115  及  相关书籍片段