改变 API 版本控制策略

问题描述 投票:0回答:1

我正在开发一个 API,使用目前正在生产中的 django rest 框架。使用的版本控制策略是namespace versioning。我想切换到 acceptheader versioning 因为它似乎更适合这个项目。

有没有办法在不破坏以前的 API 版本的情况下顺利进行更改。

django rest django-rest-framework api-versioning
1个回答
1
投票

版本控制非常简单。

在您的应用程序中创建文件夹并将其命名为

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 都应该正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.