Почему в Swagger UI все сгруппировано в разделе "api" без разделения на задачи и подзадачи?
Я работаю над документированием API с помощью Swagger UI. Однако я заметил, что все конечные точки сгруппированы в одном разделе "api".
Не существует отдельных разделов для различных ресурсов, таких как "задача" и "подзадача". Это усложняет навигацию и понимание документации 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):
....