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