From 8a2b34ded4e10cc9ca2ec4dd8258d4f9f797bf8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Sat, 16 Jul 2022 15:10:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B4=BE=E5=8F=91=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/utils/serializers.py | 5 +++++ apps/utils/views.py | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/utils/serializers.py b/apps/utils/serializers.py index 97c3396d..14684584 100755 --- a/apps/utils/serializers.py +++ b/apps/utils/serializers.py @@ -49,3 +49,8 @@ class SendSmsSerializer(serializers.Serializer): class GenerateVoiceSerializer(serializers.Serializer): msg = serializers.CharField(label='文本') + + +class TestTaskSerializer(serializers.Serializer): + args = serializers.ListField(child=serializers.CharField(), label='列表参数', required=False, null=True) + kwargs = serializers.JSONField(label="字典参数", required=False, null=True) diff --git a/apps/utils/views.py b/apps/utils/views.py index 0104d6af..1af07025 100755 --- a/apps/utils/views.py +++ b/apps/utils/views.py @@ -12,7 +12,7 @@ from rest_framework.response import Response from rest_framework.exceptions import ParseError from apps.utils.viewsets import CustomGenericViewSet from apps.utils.mixins import CustomCreateModelMixin -from apps.utils.serializers import GenSignatureSerializer, GenerateVoiceSerializer, SendSmsSerializer +from apps.utils.serializers import GenSignatureSerializer, GenerateVoiceSerializer, SendSmsSerializer, TestTaskSerializer from rest_framework.views import APIView from rest_framework.decorators import action from rest_framework.serializers import Serializer @@ -85,11 +85,14 @@ class TestViewSet(CustomGenericViewSet): res = generate_voice(**vdata) return Response(res) - @action(methods=['get'], detail=False, serializer_class=Serializer) + @action(methods=['post'], detail=False, serializer_class=TestTaskSerializer) def task(self, request, pk=None): """任务派发测试 任务派发测试 """ - show() + serializer = TestTaskSerializer(data=request.data) + serializer.is_valid(raise_exception=True) + vdata = serializer.validated_data() + show.delay(*vdata.get('args', []), **vdata.get('kwargs', {})) return Response()