一、认识REST
什么是REST
REST是Representational State Tansfer(表现层状态转移) 的缩写, 如果一个架构符合REST原则,就称它为 RESTful 架构。
什么是RESTful
RESTful架构可以充分的利用HTTP协议的各种功能,是HTTP协议的最佳实践。
什么是RESTful API
RESTful是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好。
什么是API
API是应用程序编程接口,用来连接前后端之间的通信,实现数据的交互。
二、传统模式开发和前后端分离模式对比
1.在传统开发模式中,前端写好静态页面交给后端开发,后端把html渲染或重定向到前端页面
弊端: 1.前后端耦合严重,前端会嵌入后端代码,导致代码混乱,可维护性不高 2.开发人员需要前后兼顾,开发效率不高,周期变长 3.与前端开发人员之间沟通成本高,前后端开发进度相互影响
2.前后端分离模式不只是开发模式,也是web应用的一种架构模式。在开发阶段,前后端人员约定好数据交互接口,即可并行开发与测试,
前端开发完可以独自进行mack测试,后端也可以使用postman等接口测试工具进行测试。最后可进行功能联调测试。
优点 1.可以实现真正的前后端解耦,前后端可以并行开发与测试,提高开发效率 2.减少后端服务器的并发/负载压力,提高系统的性能 3.异步加载的方式,可以更好的应对复杂多变的前端需求 4.前后端代码不再混乱,增强了代码的可维护性
三、RESTful风格
概念:
RESTful是一种网络程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义JSON格式定义。最常用的数据格式是JSON,由于JSON,能直接被JavaScript读取,所以使用JSON格式的REST风格的API具有简单、易读、易用的特点。
传统的API
RESTful的API
如上述API可见, 当API数量比较多、系统更复杂的时候, 传统的API需要设置非常多, 而RESTful API的好处会越来越明显, 仅仅一个API即可实现GET/POST/PUT/DELETE(增删改查)
RESTful请求方式
HTTP 状态码是 RESTful API设计重要的一个步, 表示请求的状态
200 OK: 请求成功__表示服务器成功返回用户请求的数据
201 CREATED: 请求成功__表示用户新建货修改数据成功
204 NO CONTENT: 请求成功__表示用户数据删除成功
400 INVALID REQUEST: 请求失败__用户发出的请求有错误或者缺少必要参数
401 Unauthorized: 请求失败__表示认证失败或者缺少授权(令牌,用户名,密码错误)
403 Forbidden: 请求失败__表示没有访问权限
404 Not Found: 请求失败__表示请求的资源不存在
500 Internal Server Error: 请求失败__表示服务器内部出错