REST(Representational State Transfer)是一种设计Web API的模式。
REST基于HTTP进行通信,通过XML格式或JSON格式作为载体传输消息和数据,使得所有功能都以一种标准化Web服务的形式向外提供服务,实现功能代码与界面设计的解耦,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。举个例子,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页面提供的功能,而后端代码基本无需改动。
Rest架构的主要原则
- 网络上的所有事物都被抽象为资源
- 每个资源都有一个唯一的资源标识符
- 同一个资源具有多种表现形式(xml,json等)
- 对资源的各种操作不会改变资源标识符
- 所有的操作都是无状态的
- 符合REST原则的架构方式即可称为RESTful
关于RESTful有一种比较经典的解释
看http url就知道要什么
看http method就知道干什么
看http status code就知道结果如何
REST中每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 POST 、DELETE、PUT和GET,对应的就是数据的4种基本操作:CRUD(增删改查)的操作。如下图所示:
URI = /资源名称/资源标识 + HTTP的请求方式表示对应的CRUD操作。
例如:
<!--查询:-->
http://localhost/user/1 HTTP-GET <!--表示:查询id=1的user-->
<!--添加:-->
http://localhost/user HTTP-GET <!--表示:访问添加用户页面-->
参考:
https://www.jianshu.com/p/ee92c9accedd
https://www.jianshu.com/p/cac134b7b8b1