При ручном добавлении документации Swagger в разделе "Ответы" не отображаются примеры значений
У меня есть простой проект django rest API с некоторыми конечными точками. Я установил swagger API documentation для просмотра и тестирования API. как вы знаете, API, которые зависят от моделей и сериализаторов, будут добавлены в документацию swagger автоматически и с ними нет никаких проблем. У меня есть еще одно представление, которое не связано с моделью или сериализатором, поэтому я написал swagger-код для него вручную. теперь проблема, с которой я столкнулся, заключается в том, что примеры значений секции Responses в этой конечной точке не загружаются, а просто крутится круг! вот код и изображение swagger:
import requests
from django.shortcuts import render
from store.models import Customer
from .serializers import CustomerSerializer
from rest_framework.generics import ListCreateAPIView, RetrieveUpdateDestroyAPIView
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
class Verification(APIView):
@swagger_auto_schema(
request_body=openapi.Schema(
type=openapi.TYPE_OBJECT,
properties={
'phone': openapi.Schema(type=openapi.TYPE_STRING, description='Phone number to verify'),
'token': openapi.Schema(type=openapi.TYPE_STRING, description='Verification token sent via SMS')
},
required=['phone', 'token']
),
responses={
200: openapi.Response(
description='Successful verification',
examples={
'application/json': {
'status': True,
'detail': '200, your entered token matched.',
}
}
),
400: openapi.Response(
description='Invalid input or verification failed',
examples={
'application/json': {
'status': False,
'detail': 'entered token is NOT true',
}
}
)
}
)
def post(self, request):
number = request.data.get('phone')
sent_tok = request.data.get('token')
if number and sent_tok:
old = Customer.objects.filter(phone__iexact=number)
if old.exists():
old = old.first()
saved_tok = old.sms_token
if str(sent_tok) == str(saved_tok):
old.is_verified = True
old.save()
return Response({
'status': True,
'detail': '200, your entered token matched.'
})
else:
return Response({
'status': False,
'detail': 'entered token is NOT true'
})
примерные значения не загружаются
Я спрашивал AI и искал, но, похоже, проблема не в коде. Я также установил последнюю версию swagger с помощью pip.