RESTful
是一种软件的架构风格,设计风格,为客户端的交互提供一组设计原则的约束条件。
REST的理解
Representational State Transfer 表征性转移,通常我们称为资源状态转移。
资源 : 只要有被引用的必要的事物。
URI 统一资源标志符。
URL 统一资源定位符。
URI是给我们的资源进行标识的,URL是描述我们资源地址的。
统一资源接口:根据HTTP请求方式的不同,对资源进行不同的操作
资源的表述其实就是资源的展现形式,我们客户端和服务端传输的都是资源的表述。
总结:
REST风格的特点如下:
(1),在web中,只要有被引用的必要都叫资源。
(2),每个URI代表一个资源,独一无二的。
(3),客户端通过HTTP的方法,对服务器端资源进行操作;
(4),客户端和服务器之间,传递这种资源的某种表现;
(5),通过超链接的指引,实现‘表现层状态转移’;
restful规范
一 面向资源编程
每个URL代表一种资源,URL中尽量不要用动词,要用名词。
二 根据method不同,进行不同的操作
GET/POST//PUT/DELETE/PATCH
三 在URL中体现版本
https://www.bootcss.com/v1/mycss
https://v1.bootcss.com/mycss
四 在URL中体现是否是API
https://www.bootcss.com/api/mycss
https://api.bootcss.com/mycss
五 在URL中的过滤条件
https://www.bootcss.com/v1/mycss?page=3
六 尽量使用HTTPS
https://www.bootcss.com/v1/mycss
七 响应时设置状态码
1.信息,服务器收到请求,需要请求者继续执行操作
2.成功,操作被成功接收并处理
3.重定向,需要进一步的操作以完成请求
4.客户端错误,请求包含语法错误或无法完成请求
5.服务器错误,服务器在处理请求的过程中发生了错误
八 返回值
GET请求 返回查到所有或单条数据
POST请求 返回新增的数据
PUT请求 返回更新数据
PATCH请求 局部更新 返回更新整条数据
DELETE请求 返回值为空
九 返回错误信息
返回值携带错误信息
十 Hypermedia API
如果遇到需要跳转的情况 携带调转接口的URL
ret = {
code: 1000,
data: {
id: 1,
name: 'wjs',
depart_id: http://www.luffycity.com/api/v1/depart/8/
}
}