Чтобы добиться этого, я использование 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"})
Действия, которые я предпринял
- Подтверждено, что DRF Spectacular установлен и правильно настроен в settings.py
Код: Выделить всё
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}
- Проверено, что команда создания схемы выполняется без проблем.
- Подтверждено, что inline_serializer используется как согласно документации.
- Убедился, что swagger-ui доступен и правильно отображает другие конечные точки.
Я был бы признателен за любые идеи или рекомендации по решению этой проблемы.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ocumentati
Мобильная версия