Django - Как путь к моему вебсокету asgi может быть указан в моем swagger

Я создаю api, где две конечные точки используют протокол ws(s).
Поскольку мой API находится за конечной точкой Google, каждая конечная точка должна быть определена в файле OpenApi2.0.

Для создания этого определения я использую drf-yasg.

У меня есть файл routing. py следующего вида:

""" systems/routing.py"""
from django.urls import path

from .consumers.list_sessions_consumer import MyFirstConsumer
from .consumers.session_consumer import MySecondConsumer

urlpatterns = [
    path(r'v1/ws/yo/<str:uuid>/sessions-sumpup', MyFirstConsumer.as_asgi()),
    path(r'v1/ws/yo/<str:uuid>/sessions', MySecondConsumer.as_asgi()),
]

и регистрирую его в файле asgi.py следующим образом:

# pylint: skip-file
""" main/asgi.py """
import os
import django

from django.core.asgi import get_asgi_application
django_asgi_app = get_asgi_application()


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'main.settings')
django.setup()

from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from systems.websockets.routing import urlpatterns as system_websocket_url

application = ProtocolTypeRouter({
    "http": django_asgi_app,
    "websocket": AuthMiddlewareStack(
        URLRouter(
            system_websocket_url
        )
    ),
})

Не обращайте внимания на порядок импорта, это связано с этой ошибкой: Django apps are not loaded yet when using asgi

Итак, мой сокет работает как ожидалось, теперь я хочу, чтобы моя командная строка: python3 manage.py generate_swagger swagger.yaml добавить эти новые конечные точки в мой swagger файл.

Я попытался напрямую добавить мой url в тот же объект, затем все мои другие url, как например:

urlpatterns = [
    path(r'v1/toto/<str:uuid>', MyView.as_view()),
    ...,
    path(r'v1/ws/yo/<str:uuid>/sessions-sumpup', MyFirstConsumer.as_asgi()),
    path(r'v1/ws/yo/<str:uuid>/sessions', MySecondConsumer.as_asgi()),
]

Но в моем файле swagger ничего не отображается.

Есть идеи?

Спасибо

Вернуться на верх