我正在开发一个 API,使用目前正在生产中的 django rest 框架。使用的版本控制策略是namespace versioning。我想切换到 acceptheader versioning 因为它似乎更适合这个项目。
有没有办法在不破坏以前的 API 版本的情况下顺利进行更改。
版本控制非常简单。
在您的应用程序中创建文件夹并将其命名为
v1
喜欢这张图片:
yourApp > urls.py 应该是这样的:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('v1/', include('api.v1.urls')),
]
然后在v1文件夹中创建
urls.py
,它应该是这样的:
from django.urls import path, include
from api.v1.classes.Plan import listPlan
from api.v1.classes.preInvoce import preInvoce
urlpatterns = [
path('plan/list', listPlan.as_view(), name="listPlans"),
path('plan/buy', preInvoce.as_view(), name="preInvoice"),
]
如果你想要版本 2,你需要创建名为 v2 的新文件夹并在其中包含 urls.py。
你的应用程序 urls.py 应该是这样的:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('v1/', include('api.v1.urls')),
path('v2/', include('api.v2.urls')),
]
将您自己的和新的 url 放入 v2/urls.py
你的最终 v1 网址是这样的:
localhost:8000/v1/planList
你的最终 v2 网址是这样的:
localhost:8000/v2/newUrlInV2
v1 和 v2 url 都应该正常工作。