REST是什么?
万维网软件架构风格
-
为何叫REST
Representational State Transfer
Representational:数据的表现形式(JSON、XML……)
State:当前状态或者数据
-
通过REST的6个限制详细了解它
客户-服务器(Client-Server)
关注点分离
服务端专注数据存储,提升了简单性
-
无状态(Stateless)
所有用户会话信息都保存在客户端
每次请求必须包括所有信息,不能依赖上下文信息
-
缓存(Cache)
所有服务端响应都要被标为可缓存或不可缓存
-
统一接口(Uniform Interface)
接口设计尽可能统一通用,提升了简单性、可见性
-
分层系统(Layered System)
每层只知道相邻的一层,后面隐藏的就不知道了
客户端不知道是和代理还是真实服务器通信
-
按需代码(Code-On-Demand可选)
客户端可以下载运行服务端传来的代码(比如JS)
通过减少一些功能,简化了客户端
RESTful API简介
什么是RESTful API?
RESTful API 具体什么样子?
基本的URI,如:https//api.github.com/users
标砖HTTP方法,如GET,POST,PUT,PATCH,DELETE
传输的数据媒体类型,如:JSON,XML
现实举例
GET /users#获取user列表
GET /users/12#查看某个具体的user
POST /users#新建一个user
PUT /users/12#更新user12
DELETE/users/12 #删除user12
github接口文档:https://developer.github.com/v3/repos/
GitHub API示例