APIView
1、继承自view
2、提供了rest_framework自己的request对象,不是django里的HttpRequest对象
3.返回了est_framework自己的response队形,不时django里的HttpResponset对象
4.并且提供了权限、认证、限流等功能
View获取数据的方式
GET:
request.GET
POST:
request.POST #获取表单数据
request.body #获取json数据
APIView获取数据的方式
GET:
request.query_params
POST:
request.data #既可以获取json也可以获取表单
1)测试request:GET和POST方法
#测试APIView的request from rest_framework.views import APIView from django import http class BookAPIView(APIView): def get(self,request): print(request.query_params) return http.HttpResponse('haha') def post(self,request): print((request.data)) return http.HttpResponse('heihei')
--------------------------------------------------------------------------------------------------------------------------------------------
返回数据的方式
之前返回数据的方式
HttpResponse 返回文本数据
JsonResponse 返回json数据
现在可以使用response返回各种数据和状态
并且提供了一套状态码,可以配合状态码使用
#测试APIView的request from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status class BookAPIView(APIView): def get(self,request): print(request.query_params) return Response({'姓名':'李四'},status=status.HTTP_200_OK) #返回字典 def post(self,request): print((request.data)) return Response([{'姓名':'张三'},{'年龄':'30'}],status=status.HTTP_201_CREATED) #返回列表
                    
                
                
            
        
浙公网安备 33010602011771号