2、用djanjo框架实现前后端分离
约束规范:
RESTFUL API
一:域名
1、http://api.xxx.com(代表一个接口)(有跨域问题)
2:http://www.xxx.com/api/
二、版本
5000万用户 1.0版
2500万用户 2.0版
http://www.xxx.com/api/v1.0/返回1.0数据
http://www.xxx.com/api/v2.0/返回2.0数据
三、路径:用名词代表数据的获取
http://www.xxx.com/api/v1.0/apples/获取所有苹果
http://www.xxx.com/api/v1.0/apples/1/(添加主键)获取id为1的苹果
四、状态码
200:ok
201:创建成功
403:权限不允许
404:未找到
405:方法不允许
500:服务器错误
五、响应数据
返回json数据
六、统一资源
对数据的元操作(基本操作)CRUD(增删改查)
C:create
R:read
U:update、
D:delete
GET--->获取资源
POSI--->新增资源
PUI---->更新资源
DELETE---->删除资源
PATCH------>局部更新
如何用djanjo实现返回json的接口
1、序列化:
(字典是数据类型) (json是可传输的数据)
把数据类型转换成可传输的数据的过程叫序列化
反序列化:
把传输的数据转换成数据类型的过程叫反序列化
序列化的两个功能:
1、把模型数据转换成json数据
2、把前端传递过来的json数据转化成模型数据
好处:
可以帮我们验证数据的完整性
当我们反序列化的时候需要创建数据
save方法就是保存
ser.save()
利用序列化生成JSON数据
#多个对象序列化
art = Article.objects.all()
ser = ArticleSerializer(art,many=True) #如果多个对象序列化 需要加many
ser.data