1.什么是rest
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;它是一种设计风格
2. Rest架构的主要原则
网络上的所有事物都被抽象为资源
每个资源都有一个唯一的资源标识符
同一个资源具有多种表现形式(xml,json等)
对资源的各种操作不会改变资源标识符
所有的操作都是无状态的 符合REST原则的架构方式即可称为RESTful
3.使用前后对比
在Restful之前的操作:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息
RESTful用法:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息
4.实践要点
4.1 协议
api和用户的通信协议总是使用https协议。
4.2 域名
1.尽量将api部署到专有域名之下,如:https://api.example.com
2.简单不会进一步扩展的域名可以考虑放到主域名下,如:https://example.org/api
4.3 版本
4.3.1 应该将api的版本放置到url中,如:https://api.example.com/v1
4.3.2 也可以考虑将版本放置到http响应报文里
4.4 路径
在restful架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格对应。
如:https://api.example.com/v1/emplyees
4.5 HTTP动词
对资源的具体操作有http动词表示。常用的http动词有下面5种:
GET:从服务器取出资源
POST:在服务器中新建资源
PUT:更新服务器中资源
DELETE:删除服务器中资源
PATCH:更新服务器资源