restful规范,django版本间区别,API接口
1.前后端混合开发
-模板渲染在后端完成
2.前后端分离
-后端只负责写接口,前端来调用,通信使用json格式
-多端(web,app),都可以使用同一个接口。
写好一个接口,不同种类的终端都可以向这个接口发请求,获取数据。所以就需要写的接口符合一定的规范。
API接口
为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。
通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
还比如在项目中如果使用支付功能,就可以调用支付宝或则微信提供的第三方接口,调用接口就可以使用支付功能。
# 详细可以查看微博开放平台
https://open.weibo.com/wiki/2/users/show
restful规范
1 写接口的规范,大部分的接口,都会按照这个规范去写(Web API接口的设计风格)2000年Roy Fielding的博士论文中
2 总共10点
# 1 使用https协议进行传输数据(保证数据安全)
# 2 url中带关键字api
https://api.baidu.com
https://www.baidu.com/api
# 3 url中带版本信息
https://api.baidu.com/v1
https://api.baidu.com/v2
# 4 数据即是资源,均使用名词
https://api.baidu.com/users
https://api.baidu.com/books
https://api.baidu.com/book
# 5 资源操作由请求方式决定
-查询操作---get
-新增操作----post
-修改操作----put,patch
-删除操作----delete
https://api.baidu.com/books - get请求:获取所有书
https://api.baidu.com/books/1 - get请求:获取主键为1的书
https://api.baidu.com/books - post请求:新增一本书书
https://api.baidu.com/books/1 - put请求:整体修改主键为1的书
https://api.baidu.com/books/1 - patch请求:局部修改主键为1的书
https://api.baidu.com/books/1 - delete请求:删除主键为1的书
# 6 请求url中带搜索筛选条件
https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置、
https://api.example.com/v1/zoos?animal_type_id=1:指定筛选条件
# 7 响应中要带状态码(自己定义,http响应状态码)
{
status:200
}
# 8 响应返回错误信息
{
status:200
msg: "无权限操作"
}
# 9 返回结果,遵循如下规范(大概率都没有遵循)
GET /collection:返回资源对象的列表(数组)
GET
