版本控制

一、介绍

用于版本的控制,版本控制是restful规范中的一个规范,需要带版本号,可以拼在路径中,还可以放在请求头中

 

二、版本控制的使用

一般我们都采用全局使用

1、全局使用

在settings里配置

REST_FRAMEWORK = {
    'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning',
    'DEFAULT_VERSION': 'v1',            # 默认版本(从request对象里取不到,显示的默认值)
    'ALLOWED_VERSIONS': ['v1', 'v2'],   # 允许的版本
    'VERSION_PARAM': 'version',         # URL中获取值的key
}

urls.py

url(r'^(?P<verson>[v1|v2]+)/test/', views.Test.as_view()),

views.py

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.versioning import URLPathVersioning

class Test(APIView):def get(self, request, *args, **kwargs):
        print(request.version)   # 版本v1
        print(type(request.versioning_scheme))  # <class 'rest_framework.versioning.URLPathVersioning'>
        return Response()

2、局部使用

#在CBV类中加入
versioning_class = URLPathVersioning

 

posted @ 2019-07-05 20:38  TianShu  Views(198)  Comments(0Edit  收藏  举报