一、含义

什么是restful,引用百度百科中的解释就是:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

二、传统API和RESTfulAPI有何差异

传统api和RESTful API对比
 传统APIRESTfulAPI
查询/user/query?name=huGET /user?name=hu   GET
删除/user/delete?id = 1GET/user/1DELETE
修改/user/update?id=1&name=liuPOST/user/1PUT
新增/user/create?name=tom POST/userPOST

1.传统的接口用URL来描述行为,RESTful用url来描述资源,针对的是资源。从上面表中可以看出,传统API就是在url中去定义行为,从路径中可以看出这个API是做的什么操作;而RESTfulAPI的url是用来描述资源,id=1的user是一个资源,假设我们的数据库中有100个user对象,就对应着100个资源。

2.使用HTTP方法来描述行为。使用HTTP状态码来表示不同的结果。RESTful API是用HTTP的方法来描述行为,GET——请求表示查询,DELETE——请求表示删除,PUT——请求表示修改,POST——请求表示新增;传统的API接口,不论调用成功与否,返回的状态码可能都是200,只是在返回的数据中,有某个字段判断是否调用成功;而RESTfulAPI是通过HTTP状态码来表示不同的结果,比如:200——表示调用成功,400——表示调用失败,500——表示异常等。

3.使用json交互数据。传统的API可能使用字符串拼接,可能使用xml等各种形式进行数据的交换;而在RESTful API中都是使用json进行数据的交互。

4.restful只是一种风格,并不是强制的标准。RESTful只是一种风格,就好像在生活中的道德约束一样,走路闯红灯是不对的,但是你偶尔闯了红灯,也不会有警察抓你。

三、RESTful成熟度图

一般在项目都是用到了Level2的级别,线上项目中还未见到有Level3级别的。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐