我想在DRF中使用swagger生成器工具django-rest-swagger来记录我的API
现在我通过继承 rest_framework.views.APIView
来写意见
我不想使用viewsets或serializer编写视图 .
这是视图代码示例
from rest_framework.views import APIView
class SomeView(APIView):
'''
get:
some description
post:
some other description
'''
def get(self, request, format=None):
a = self.request.query_params.get('a',None)
b = self.request.query_params.get('b',None)
c = self.request.query_params.get('c',None)
return Response({},status='200')
def post(self, request, format=None):
a = self.request.data.get('a',None)
b = self.request.data.get('b',None)
c = self.request.data.get('c',None)
return Response({},status='201')
现在我可以为每个 endpoints 添加描述 .
我想添加请求和响应架构如下
我想知道,如何在不使用序列化器和视图集的情况下实现这一目标 .
2 回答
我知道我没有直接回答你的问题,但我想建议你尝试一个可以在各个方向定制的很棒的包:drf-yasg . 您没有义务使用通用的rest_framework内容或序列化程序 .
你可以直接跳到Custom schema generation
在当前版本的django-rest-swagger中,YAML文档字符串(如您的示例中)已被弃用,我相信 . 因此,我认为您需要手动定义架构 . 文档包含如何在视图级别执行此操作的示例:
http://www.django-rest-framework.org/api-guide/schemas/#manualschema