Drf的request和response
来自CloudWiki
REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。
Request
Request对象的数据是将前端传来的各种数据根据Content-Type转换为字典
request.data属性
返回解析之后的请求体数据(字典类型),类似于Django中标准的request.POST和 request.FILES属性
获得查询字符串参数,返回QueryDict类型,与Django标准的request.GET用法相同。
Response
rest_framework.response.Response
REST framework提供了一个响应类Response,使用该类构造响应对象时,响应的具体数据内容会被转换(render渲染)成符合前端需求的类型。 构造方法
Response(data, status=None, template_name=None, headers=None, content_type=None)
参数说明:
data: 为响应准备的序列化处理后的数据; status: 状态码,默认200; template_name: 模板名称,如果使用HTMLRenderer 时需指明; headers: 用于存放响应头信息的字典; content_type: 响应数据的Content-Type,通常此参数无需传递,REST framework会根据前端所需类型数据来设置该参数。
状态码
为了方便设置状态码,REST framewrok在rest_framework.status模块中提供了常用状态码常量。
1)信息告知 - 1xx
2)成功 - 2xx
3)重定向 - 3xx
4)客户端错误 - 4xx
5)服务器错误 - 5xx