Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。
-
尽量使用https协议
-
域名当中尽量出现api的字样 api.laufing.com
-
路径里尽量出现版本号 如: /v1/users/users/
-
!! 路径当中尽量使用名词, 如 /v1/users/users/
-
使用请求方法 来表示对资源的操作; GET /v1/users/users/; POST /v1/users/users/; PUT /v1/users/users/id/; DELETE /v1/users/users/id/
-
路径中拼接查询字符串,实现数据的过滤、分页、排序等 /v1/users/users/?page=3&pageSize=10&orderBy=age&desc=true
原生django: request.GET.get("page") request.POST.get("username")
DRF: request.query_params.get("page") request.data.get("username")
1.2 混入扩展类
DRF框架提供了5个Mixin扩展类,封装了通用的增、删、改、查(一个和多个)的代码基本流程:
扩展类 | 封装方法 | 说明 |
---|---|---|
ListModelMixin | list | 封装获取一组数据的基本代码流程 |
CreateModelMixin | create | 封装新增一条数据的基本代码流程 |
RetrieveModelMixin | retrieve | 封装获取指定数据的基本代码流程 |
UpdateModelMixin | update | 封装更新指定数据的基本代码流程 |
DestroyModelMixin | destroy | 封装删除指定数据的基本代码流程 |
子类视图类
Django框架为了方便视图的编写,还提供了9个子类视图类。
ListAPIView | GenericAPIView、ListModelMixin | 提供 get 方法 |
---|---|---|
CreateAPIView | GenericAPIView、CreateModelMixin | 提供 post 方法 |
RetrieveAPIView | GenericAPIView、RetrieveModelMixin | 提供 get 方法 |
子类视图类 | 继承 | 请求处理方法 |
UpdateAPIView | GenericAPIView、UpdateModelMixin | 提供 put 方法 |
DestroyAPIView | GenericAPIView、DestroyModelMixin | 提供 delete 方法 |
ListCreateAPIView | GenericAPIView、ListModelMixin、CreateModelMixin | 提供 get 和 post 方法 |
RetrieveUpdateAPIView | GenericAPIView、RetrieveModelMixin、UpdateModelMixin | 提供 get、put 方法 |
RetrieveDestroyAPIView | GenericAPIView、RetrieveModelMixin、DestroyModelMixin | 提供 get 和 delete 方法 |
RetrieveUpdateDestroyAPIView | GenericAPIView、RetrieveModelMixin、UpdateModelMixin、DestroyModelMixin | 提供 get、put、delete方法 |
注:子类视图都在
from rest_framework.generics
模块中。