我想知道控制移动应用 API 版本的最佳实践是什么。
要求
- 如果我更改数据库中的某些内容,则应用程序的先前版本不应该受到影响。
- 目前我正在做...
path('v1/auth/', include('authentication.urls')),
path('v2/auth/', include('authentication.urls2')), # Example
path('v1/api/', include('contentstudio.urls')),
我想知道控制移动应用 API 版本的最佳实践是什么。
要求
path('v1/auth/', include('authentication.urls')),
path('v2/auth/', include('authentication.urls2')), # Example
path('v1/api/', include('contentstudio.urls')),
Django REST Framework 支持许多不同的 api 版本控制方法。查看文档以找到最适合您的文档。
根据文档,该AcceptHeaderVersioning
方法“通常被认为是最佳实践”。IE。您将版本放在 Accept 标头中,如下所示:
Accept: application/json; version=1.0
使用这些方法中的任何一种,您都可以request.version
在视图中访问以确定不同版本的行为。
AcceptHeaderVersioning 是最好的方法,但是当您有多个版本时,它可能看起来很复杂。我选择命名空间是因为它很容易实现。你可以在这里看到一个例子:来自 github 的示例
您还可以将设置文档添加到 settings.py 以更好地配置版本控制