[Fixed]-DRF 3.6: How to document input parameters in APIView (for automatic doc generation)?


I Got the answer from Tom Christie:

serializer_class by itself isn’t enough – the view needs to implement get_serializer, see: https://github.com/encode/django-rest-framework/blob/master/rest_framework/schemas.py#L570

So in My case, adding this works well:

def get_serializer(self):
    return ActivateCustomerSerializer()


EDIT: I forgot to answer regarding the input parameters. I believe that would be based on the serializer. Have you tried specifying your serializer_class?

With DRF’s inbuilt documentation generator, you’d want to put your docstrings on the class level and include the request method as such:

class ActivateCustomerView(APIView):
    View dedicated to activating a pre-recorded customer 
    # Should I add some parameters here?

    # if you have a get request
    # your docs for the get handler

    permission_classes = (AllowAny,)

    def post(self, request):

        serializer = ActivateCustomerSerializer(data=request.data)
        # ...

Leave a comment