Как предоставить поля Django Rest APIView для swagger?

#django #django-rest-framework

#django #django-rest-framework

Вопрос:

У меня есть что-то вроде этого:

 class MyCustomView(APIView):
    serializer_class = serializers.MyCustomSerializer

    def post(self, request):
        #my custom logic here, working on multiple tables, etc
  

Но поля сериализации не отображаются в swagger или в представлении Django rest HTML по умолчанию. Как я могу сделать так, чтобы это было так?

Редактировать

Я вижу, что это работает в доступном для просмотра API с последней версией Django Rest, но не в swagger. Я использую drf_yasg . Есть идеи, как это исправить?

Комментарии:

1. «или по умолчанию Django rest HTML …» В более новых версиях DRF, serializer_class отображается в доступном для просмотра API

Ответ №1:

Оказывается, вы можете принудительно использовать сериализатор для swagger следующим образом:

    ...
   @swagger_auto_schema(request_body=SomeSerializer)
   def post():
      pass
   ...