什么是RESTful风格的API

一、含义

什么是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级别的。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值