restful
软件架构风格,是一种思想
主要用在客户端和服务端这种模型中
实现的就是前后端分离
- 每一个URL代表1种资源;
- 客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
- 通过操作资源的表现形式来操作资源;
- 资源的表现形式是XML或者HTML;
- 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息
理解
变现层状态转换
表征性状态转移
其实就是资源(Resource)的表现形式发生了转换
客户端要实现状态转换,通过请求谓词
GET
POST
PUT
DELETE
PATCH
可以通过将django项目中的views.py或者models.py等文件转换成python包的形式,来区分不同的对象的操作,例如将某个类的视图函数统一放在views包中的某一个.py文件中,然后在views包的__init__.py文件中导入相关视图函数来调用
Api设计原则
协议 http(s)
专属域名或前缀
可以在路径中包含版本
在QueryString包含过滤信息
路径通常是名词复数
传输格式JSON
尽量带有超链接
认证使用OAuth2.0
认证时返回token,通过token来验证信息,保证信息的安全性
简单实现
针对一个接口的不同请求方式,进行不同的处理
GET /col