版本控制

一、介绍

用于版本的控制,版本控制是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 @   困了就睡觉觉  Views(201)  Comments(0Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示