/ / Django REST Swagger: las funciones de Lista y Recuperación no son detectadas por Swagger - python, django, rest, django-rest-framework, django-swagger

Swagger de Django REST: Las funciones de lista y recuperación no son detectadas por Swagger - python, django, rest, django-rest-framework, django-swagger

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 № 1

El 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