Встроенный сериализатор для тела запроса не отображается в документации DRF Spectacular

Я работаю над проектом Django REST Framework (DRF), используя DRF Spectacular для документации API. Мой ViewSet не использует сериализатор, потому что логика не требует его, но мне нужно описать форму тела запроса в документации API.

Для достижения этой цели я использую функцию DRF Spectacular inline_serializer для динамического определения схемы тела запроса. Вот пример того, как я это реализовал:

from drf_spectacular.utils import extend_schema, inline_serializer
from rest_framework import serializers
from drf_spectacular.types import OpenApiTypes
from rest_framework.response import Response

class ExampleViewSet(viewsets.ViewSet):
    @extend_schema(
        request=inline_serializer(
            name="InlineFormSerializer",
            fields={
                "str_field": serializers.CharField(),
                "int_field": serializers.IntegerField(),
                "file_field": serializers.FileField(),
            },
        ),
        responses={200: OpenApiTypes.OBJECT},  # Placeholder for actual response schema
    )
    def create(self, request, *args, **kwargs):
        # Business logic here
        return Response({"message": "Success"})

Хотя генерация схемы работает без ошибок, схема тела запроса, описанная с помощью inline_serializer, не отображается во внешней документации API (например, в Swagger UI). Остальная часть API документирована правильно.

Шаги, которые я предпринял

  1. Убедитесь, что DRF Spectacular установлен и правильно настроен в settings.py
REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}
  1. Убедились, что команда генерации схемы выполняется без проблем
  2. .
  3. Убедились, что используется inline_serializer в соответствии с документацией.
  4. Убедились, что swagger-ui доступен и корректно отображает другие конечные точки.

Что может быть причиной того, что схема запроса inline_serializer не отображается во фронтенд-документации? Есть ли какие-либо дополнительные конфигурации или лучшие практики, которые я могу упустить для документирования конечных точек API, не использующих сериализаторы DRF?

Буду признателен за любые соображения или рекомендации по решению этой проблемы

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