我正在使用 django-rest-swagger 版本:2.0.5 和 django-rest-framework 版本:3.4.6。
我意识到当我使用list
或retrieve
运行时,Swagger 无法将它们检测为新端点。
我的 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)
我期待在 openapi.json 文件中看到以下端点:
- 订单/
- 订单/{uuid}/
但它们没有被呈现。我应该添加一些特定于这些功能的东西以便被 Swagger 检测到吗?