rest-framework之版本控制

做用

這裏的版本控制就是restful規範裏的版本號,用於版本的控制django

內置的版本控制類

from rest_framework.versioning import QueryParameterVersioning,AcceptHeaderVersioning,NamespaceVersioning,URLPathVersioning

#基於url的get傳參方式:QueryParameterVersioning------>如:/users?version=v1
#基於url的正則方式:URLPathVersioning------>/v1/users/
#基於 accept 請求頭方式:AcceptHeaderVersioning------>Accept: application/json; version=1.0
#基於主機名方法:HostNameVersioning------>v1.example.com
#基於django路由系統的namespace:NamespaceVersioning------>example.com/v1/users/

局部使用

注意這裏只能使用一個json

settings裏面還要加上restful

REST_FRAMEWORK = {
    'DEFAULT_VERSION': 'v1',            # 默認版本(從request對象裏取不到,顯示的默認值)
    'ALLOWED_VERSIONS': ['v1', 'v2'],   # 容許的版本
    'VERSION_PARAM': 'version'          # URL中獲取值的key
}

全局使用

REST_FRAMEWORK = {
    'DEFAULT_VERSIONING_CLASS':rest_framework.versioning.URLPathVersioning',
    'DEFAULT_VERSION': 'v1',            # 默認版本(從request對象裏取不到,顯示的默認值)
    'ALLOWED_VERSIONS': ['v1', 'v2'],   # 容許的版本
    'VERSION_PARAM': 'version'          # URL中獲取值的key
}

 

修改路由

測試

若是輸入v3就報錯app

獲取版本號

在APIView裏的dispach裏測試

有版本相關的的東西能夠打印url

在打印一下spa

打印出來是用哪一個版本對象3d

相關文章
相關標籤/搜索