接口
接口就是封装了一个特定的功能,但是我们不需要知道内部是怎么实现的
应用接口
接口四要素:
- 接口地址
- 请求方式
- 请求参数是什么
- 响应格式(json/xml)
RestFul风格
请求接口定义
响应数据定义
XML
// json
{"name":"睡觉的那个童鞋", "age":17}
[{"name":"睡觉的那个童鞋1", "age":17}, {"name":"睡觉的那个童鞋2", "age":17}, {"name":"睡觉的那个童鞋3", "age":17}]
// xml
<class>
<student>
<name>sleep </name>
<age>17</age>
</stuent>
<student>
<name>sleep2 </name>
<age>17</age>
</stuent>
<student>
<name>sleep </name>
<age>17</age>
</stuent>
</class>
序列化
序列化: 语言里面的数据类型 —》 可传输的数据格式
反序列化: 可传输的数据格式 —》语言里面的数据类型
DRF序列化器
序列化
定义: 模型类对象 —》 字典
客户端: 获取数据或者叫读数据 read_only = True
反序列化
定义:字典 —》 验证通过的字典/模型类对象
客户端:写数据 write_only=True
功能:
-
验证客户端提交的数据
- 基本验证
2. 自定义验证
- 基本验证
-
验证通过的数据保存导数据
serializer = serializer([instance], [data]) serializer.save() create update
创建序列化器对象
语法
s = serializer(instance=None, data=empty, **kwargs)
s.context
instance : 要序列化的对象 (单独对象和对象集合)
data:客户端传递过来的数据(dict)
kwargs: context = {}, many=True, partial=True