什么是RESTful风格
REST是一种设计API的模式(风格)。最常用的数据格式是JSON。由于JSON能直接被JavaScript读取,所以,使用JSON格式的REST风格的API具有简单、易读、易用的特点。满足这些约束条件和原则的应用程序或设计就是 RESTful 应用。
为什么有这套风格
客户端虽然有很多类型, 但是只要服务端统一提供API接口, 多个客户端基于相同的协议来调用该API接口即可获取数据
不同开发者对API接口的设计习惯不同 , 比如可能会出现这种情况
新增员工:
http://localhost/employee/save
http://localhost/employee/add
http://localhost/employee/new
http://localhost/employee/xinzeng
http://localhost/employee/append
http://localhost/employee?cmd=add而且发送的请求方式以及响应结果也比较可能随意
因此 , RESTful 风格的API 就诞生了.
使用统一接口
REST要求,必须通过统一的接口来对资源执行各种操作。
HTTP1.1协议为例: 7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PUT更新整个对象 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性【补丁】)。
PATCH更新个别属性 DELETE(DELETE):从服务器删除资源。
HEAD:获得一个资源的元数据,比如一个资源的hash值或者最后修改日期;
OPTIONS:获得客户端针对一个资源能够实施的操作;(获取该资源的api(能够对资源做什么操作的描述))
返回值-根据需求决定
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档
注意:
REST只是一种设计风格 , 而不是标准 , 只是提供了一组设计原则和约束条件
主要用于客户端和服务器交互, 让设计者和使用更方便 , 让API更简洁, 更有层次 , 更易于实现缓存等机制