Почему в Swagger UI все сгруппировано в разделе "api" без разделения на задачи и подзадачи?

Я работаю над документированием API с помощью Swagger UI. Однако я заметил, что все конечные точки сгруппированы в одном разделе "api".

enter image description here

Не существует отдельных разделов для различных ресурсов, таких как "задача" и "подзадача". Это усложняет навигацию и понимание документации API.

settings.py

REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/schema/', SpectacularAPIView.as_view(), name='api-schema'),
    path('api/docs/', SpectacularSwaggerView.as_view(url_name='api-schema'), name='api-docs'),
    path('api/users/', include('user.urls')),
    path('api/tasks/', include('task.urls')),
    path('api/subtasks/', include('subtask.urls')),
]

task\urls.py

router = DefaultRouter()
router.register('', views.TaskViewSet)

app_name = 'task'

urlpatterns = [
    path('', include(router.urls)),
]

Вы можете настроить SCHEMA_PATH_PREFIX в настройках, используя regex /api/:

"SCHEMA_PATH_PREFIX": "/api/"

Для версионных URL, таких как /api/v1/something, вы можете использовать следующий regex:

"SCHEMA_PATH_PREFIX": "/api/v[0-9]/"

Дополнительно вы можете использовать декоратор extend_schema в представлениях для указания тегов. Например:

from drf_spectacular.utils import extend_schema

@extend_schema(methods=["get","post","..."], tags=["Tasks"])
class TaskViewSet(ViewSet):
  ....
Вернуться на верх