什么是RESTful架构
Fielding最早在他的论文中提出REST理念
REST(Representational State Transfer):表现层状态转化
如果一个架构符合REST原则,那么这个架构就是一个RESTful风格的架构,主要有如下特点:
- 每个URI代表一种资源;
- 客户端和服务端之间传递着这种资源的某种表现层
表现层为把资源呈现出来的形式,如文件的各种格式(jpg、png、txt、html等等) - 客户端通过资格HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
RESTful风格架构的API设计特点
- 协议
API和客户端的通信协议是http - 域名
尽量将API部署在专用域名下
https://api.example.com
- 应该将版本号放在URL中
https://api.example.com/v1/
另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。
- 路径
每个URI代表一种资源,所以URI中不能有动词,都应该是名词
https://api.example.com/v1/animals
- HTTP动词
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
网友评论