Django rest framework drf yasg,只看到特定终点的更简单方法?
我们有许多应用程序和端点,当我们使用某些功能时,通过yasg向客户机公开某些端点更容易 目前,我正在为每个应用程序中的swagger定义单独的url模式,并从上面的url聚合它 在每个应用程序中执行以下操作(有选择地包括端点) 并从其他地方聚合URL模式Django rest framework drf yasg,只看到特定终点的更简单方法?,django-rest-framework,drf-yasg,Django Rest Framework,Drf Yasg,我们有许多应用程序和端点,当我们使用某些功能时,通过yasg向客户机公开某些端点更容易 目前,我正在为每个应用程序中的swagger定义单独的url模式,并从上面的url聚合它 在每个应用程序中执行以下操作(有选择地包括端点) 并从其他地方聚合URL模式 swagger_urlpatterns = [
swagger_urlpatterns = [
]
from review.urls import urlpatterns_swagger as s1
swagger_urlpatterns += s1
from saleor.promotion.urls import urlpatterns_swagger as s2
swagger_urlpatterns += s2
schema_view = get_schema_view(
openapi.Info(
title="2019_09",
default_version='v1',
),
public=True,
patterns=swagger_urlpatterns,
permission_classes=[permissions.IsAdminUser],
)
urlpatterns += [
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]
它可以工作,但有点乏味,不知道是否有更好的方法?
drf yasg
在实现get\u schema\u view
时遵循与drf()相同的模式
您可以将生成的swagger文件移动到一个单独的文件中,并将所有图案导入该文件,如下所示:
schema_view = get_schema_view(
openapi.Info(
title="API",
default_version="v4",
description="Some endpoints",
contact=openapi.Contact(email="contact@snippets.local"),
license=openapi.License(name="BSD License"),
),
public=True,
patterns=s1+s2+s3
)
urlpatterns += [
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]
schema_view = get_schema_view(
openapi.Info(
title="API",
default_version="v4",
description="Some endpoints",
contact=openapi.Contact(email="contact@snippets.local"),
license=openapi.License(name="BSD License"),
),
public=True,
patterns=s1+s2+s3
)
urlpatterns += [
url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
]