目录
一、版本
程序也来越大时,可能通过版本不同做不同的处理
没用rest_framework之前,我们可以通过以下这样的方式去获取。
1 class UserView(APIView): 2 def get(self,request,*args,**kwargs): 3 version = request.query_params.get('version') 4 print(version) 5 if version=='v1': 6 #如果版本是v1 7 ret = { 8 'code':111, 9 'msg':'版本一的内容' 10 } 11 12 elif version=='v2': 13 # 如果是v2 14 ret = { 15 'code': 112, 16 'msg': '版本二的内容' 17 } 18 else: 19 ret = { 20 'code': 0, 21 'msg': '不支持其他版本' 22 } 23 return Response(ret)
现在我们来用rest_framework实现一下,有两种方式
1、基于url的方式
#基于url传参的形式 versioning_class = QueryParameterVersioning #http://127.0.0.1:8080/api/users/?version=v2 #基于url的形式 versioning_class = URLPathVersioning #http://127.0.0.1:8080/api/v1/users/
具体步骤
1 REST_FRAMEWORK = { 2 'DEFAULT_VERSION': 'v1', #默认的版本 3 'ALLOWED_VERSIONS': ['v1','v2'], #允许的版本 4 'VERSION_PARAM': 'version', 5 }