0
    ADMIN_API_SPECTACULAR_SETTINGS = {
        'TITLE': 'Gravity API Admin',
        'DESCRIPTION': 'Your admin API description',
        'VERSION': '1.0.0',
        'SCHEMA_PATH_PREFIX': '/admin-api/v1/',
        "POSTPROCESSING_HOOKS": [
            "drf_spectacular.hooks.postprocess_schema_enums",
            "drf_spectacular.contrib.djangorestframework_camel_case.camelize_serializer_fields",
        ],
    }
    
    PUBLIC_API_SPECTACULAR_SETTINGS = {
        'TITLE': 'Gravity API Public',
        'DESCRIPTION': 'Your public API description',
        'VERSION': '1.0.0',
        'SCHEMA_PATH_PREFIX': '/public-api/v1/',
        'POSTPROCESSING_HOOKS': [
            "drf_spectacular.hooks.postprocess_schema_enums",
            "drf_spectacular.contrib.djangorestframework_camel_case.camelize_serializer_fields",
        ],
    }
    
    urlpatterns = [
        path('', BaseDocTemplate, name='base_url'),
        path('admin/', admin.site.urls),
        path('api-auth/', include('rest_framework.urls')),
    
        path('admin-api/', include('src.api.admin.urls')),
        path('admin-api/schema/', SpectacularAPIView.as_view(custom_settings=ADMIN_API_SPECTACULAR_SETTINGS), name='admin-api-schema'),
        path('admin-api/doc/', SpectacularSwaggerView.as_view(url_name='admin-api-schema'), name='swagger-ui-admin'),
    
        path('public-api/', include('src.api.public.urls')),
        path('public-api/schema/', SpectacularAPIView.as_view(custom_settings=PUBLIC_API_SPECTACULAR_SETTINGS), name='public-api-schema'),
        path('public-api/doc/', SpectacularSwaggerView.as_view(url_name='public-api-schema'), name='swagger-ui-public')
,
]

I have two URL patterns as below, admin urls and public urls, i want to define two docs for these seperate apis but, both urls patterns are getting mixed, so either i open public api doc or admin api doc. I am getting both public and admin apis.

Help me out. How to define two different docs for public and admin apis.

Bibek
  • 21
  • 5

0 Answers0