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

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

Сообщение Anonymous »

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

Код: Выделить всё

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 документирована правильно.
Действия, которые я предпринял
  • Подтверждено, что DRF Spectacular установлен и правильно настроен в settings.py

Код: Выделить всё

REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}
  • Проверено, что команда создания схемы выполняется без проблем.
  • Подтверждено, что inline_serializer используется как согласно документации.
  • Убедился, что swagger-ui доступен и правильно отображает другие конечные точки.
Что может быть из-за чего схема запроса inline_serializer не отображается в документации по интерфейсу? Существуют ли какие-либо дополнительные конфигурации или рекомендации, которые мне могут не хватать для документирования конечных точек API, которые не используют сериализаторы DRF?
Я был бы признателен за любые идеи или рекомендации по решению этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ocumentati
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»