Estoy usando la versión django-rest-swagger: 2.0.5 y la versión django-rest-framework: 3.4.6.
Me di cuenta de que cuando uso list
o retrieve
Las funciones que Swagger no puede detectar como nuevos puntos finales.
Tengo el siguiente código en mi archivo views.py:
from rest_framework.viewsets import ViewSet
class OrdersViewSet(ViewSet):
lookup_field = "uuid"
def list(self, request: Request, *args, **kwargs):
try:
changeset = OrderSyncHelper().get_order_list_data()
return Response(status=HTTP_200_OK, data=changeset)
except (KeyError, ValueError) as e:
return Response(status=HTTP_400_BAD_REQUEST, data=e.args)
def retrieve(self, request: Request, uuid: str, *args, **kwargs):
try:
changeset = OrderSyncHelper().get_order_data(uuid)
return Response(status=HTTP_200_OK, data=changeset)
except (KeyError, ValueError) as e:
return Response(status=HTTP_400_BAD_REQUEST, data=e.args)
Esperaba ver en el archivo openapi.json los siguientes puntos finales:
- pedidos/
- órdenes / {uuid} /
Pero no se presentan. ¿Debo agregar algo específico a estas funciones para que Swagger pueda detectarlas?
Respuestas
0 para la respuesta № 1El problema se solucionó cuando intenté actualizar el django-rest-swagger a version 2.1.1
.
Entonces, en la versión 2.1.1, Swagger puede detectar puntos finales que se implementan usando retrieve
o list
funciones