代码之家  ›  专栏  ›  技术社区  ›  Dalvtor

Django Rest框架-版本控制文档

  •  1
  • Dalvtor  · 技术社区  · 5 年前

    我有一个使用Django Rest框架的版本化API NamespaceVersioning

    REST_FRAMEWORK = {
        'DEFAULT_VERSIONING_CLASS':
            'rest_framework.versioning.NamespaceVersioning'
    }
    

    这非常有效,我可以访问所有v1和v2端点。

    url(r'^v1/', include((router.urls, 'v1'), namespace='v1')),
    url(r'^v2/', include((router.urls, 'v2'), namespace='v2')),
    

    我还使用了中建议的内置API文档 official docs

    from rest_framework.documentation import include_docs_urls
    
    urlpatterns = [
        ...
        url(r'^docs/', include_docs_urls(title='My API title'))
    ]
    

    我的问题是,我希望版本1和版本2有不同的文档,因为每个版本的序列化程序都不同。

    如果我这样做:

    url(r'^v1/docs/', include_docs_urls(title='My API title'))
    url(r'^v2/docs/', include_docs_urls(title='My API title'))
    

    我收到以下警告。

    WARNINGS:
    (urls.W005) URL namespace 'api-docs' isn't unique. You may not be able to reverse all URLs in this namespace
    

    有没有推荐的方法?

    0 回复  |  直到 5 年前