gpt4 book ai didi

python - 将多个 swagger 文档(来自不同的应用程序)合并到一个 swagger 仪表板 [drf_yasg]

转载 作者:行者123 更新时间:2023-12-05 07:01:39 34 4
gpt4 key购买 nike

如果我有 5 个应用程序 (django),具有各自的 swagger 文档,是否可以将所有 swagger 文档合并为一个 swagger 文档。我正在使用 Django 休息框架。

最佳答案

我假设您的意思是在一个 Django 项目中包含 5 个 Django 应用程序。在这种情况下,是的,您可以,而且非常简单。

以下是我通常如何将应用组合到一个 urlpattern::

项目/app1/urls.py:

from django.urls import include, path
from rest_framework.routers import SimpleRouter
from .views import MyModelViewSet, MyClassBasedModelView, my_function_based_model_view

api_router = SimpleRouter()
api_router.register(r"somepattern", MyModelViewSet)
api_urlpatterns = [
path("", include(api_router.urls)),
path("someotherpattern", MyClassBasedModelView.as_view()),
path("yetanotherpattern", my_function_based_view),
]

对每个应用程序中的每个“urls.py”文件执行此操作。然后在主“urls.py”(您的设置中引用的那个)中执行如下操作:

项目/urls.py:

from app1.urls import api_urlpatterns as app1_api_urlpatterns
from app2.urls import api_urlpatterns as app2_api_urlpatterns
# ...etc...

api_urlpatterns = []
api_urlpatterns += app1_api_urlpatterns
api_urlpatterns += app2_api_urlpatterns

urlpatterns = [
path("api/", include(api_urlpatterns)),
# other (non DRF) views...
]

您只需要按照 https://drf-yasg.readthedocs.io/en/stable/readme.html#quickstart 添加标准的 drf_yasg 到“project/urls.py”中的 api_urlpatterns .

希望这对您有所帮助。

关于python - 将多个 swagger 文档(来自不同的应用程序)合并到一个 swagger 仪表板 [drf_yasg],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63782118/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com