Django Rest Swagger APIView [英] Django Rest Swagger APIView

查看:179
本文介绍了Django Rest Swagger APIView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一个API,并且想制作大量的文档。我没有为此开发任何序列化。

I made an API and want to make swagger doc. I don't develop any Serializes for that.


Views.py

Views.py



class DeliveryView(APIView):

    renderer_classes = (XMLRenderer,)

    def get_campaign_vast(self, request, *args):
        return response

    def get(self, request):
        return self.get_campaign_vast(request, data)

    def post(self, request):
        """ 
        This text is the description for this API
        ---
        param1 -- A first parameter
        param2 -- A second parameter
        """
        data = request.data
        return self.get_campaign_vast(request, data) 




urls.py

urls.py



from django.conf.urls import url,include
from django.contrib import admin
from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='Add Delivery')

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$',schema_view),
    url(r'^', include('deliverymanagment.urls')),
]

我想获取Swagger中我没有得到的所有参数。

I want to get all the parameters in Swagger which i am not getting.

我无法获取参数

我正在使用:


django-rest-swagger == 2.1.1

django-rest-swagger==2.1.1

djangorestframework == 3.5.3

djangorestframework==3.5.3


推荐答案

考虑使用 GenericAPIView 而是生成文档。当端点与模型不相关但可以使用时,使用它有点技巧。

Consider using the GenericAPIView instead as this will generate the documentation. It is a bit of a hack using this when the endpoint does not relate to a model, but it does work.

例如,以下代码将创建一个端点

As an example, the following code will create an endpoint that only accepts post requests and is documented within swagger using the seralizer.

class SomeThing(GenericAPIView):
    serializer_class = MySerializer

    def post(self, request, *args, **kwargs):
        serializer = MySerializer(data=request.data)
        if serializer.is_valid() is False:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

        res = do_magic(**serializer.data)
        return Response(res)

这篇关于Django Rest Swagger APIView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆