我试图创建一个定制的API(不使用模型),但是它没有在模式中显示请求定义(因此,没有以夸张的方式显示它)。我目前的代码是:
在视图.py在
class InfoViewSet(viewsets.ViewSet):
@list_route(methods=['POST'])
def some_method(self, request):
data = JSONParser().parse(request)
serializer = GetInfoSerializer(data=data)
serializer.is_valid(raise_exception=True)
info = get_data_from_elsewhere(serializer.data)
return Response(info)
在网址.py在
^{pr2}$在序列化程序.py在
class InfoSomeMethodSerializer(serializers.Serializer):
list_id = serializers.ListField(child=serializers.IntegerField())
password = serializers.CharField()
它以招摇过市的姿态出现,但只是回应的一部分。如何注册post参数?我也不确定我是否正确地使用了DRF(我是新来的),所以任何更正都将不胜感激。在
—
编辑: 我尝试了Linovia建议的serializer_类参数,但没有成功,我得到:
TypeError: InfoViewSet() received an invalid keyword 'serializer_class'
我尝试重写get_serializer_class
方法,但也没有成功:
def get_serializer_class(self):
if self.action == 'some_method':
return InfoSomeMethodSerializer
目前没有回答
相关问题 更多 >
编程相关推荐