diff options
author | fengyuanxing <feng.yuanxing@zte.com.cn> | 2018-02-01 09:48:07 +0800 |
---|---|---|
committer | fengyuanxing <feng.yuanxing@zte.com.cn> | 2018-02-01 10:05:29 +0800 |
commit | c97b46e80f5e2edf6c8b4175045202714f64889a (patch) | |
tree | 4ec5b200fa77d42e52d21272506737dcb52c7411 | |
parent | c5e2158866118d0024fc48d2fbc80e23361e9f25 (diff) |
Refactor code for validation in job swagger
Change-Id: I5bce9de938329a2f57f0120d4e0c92ff779061bf
Issue-ID: VFC-677
Signed-off-by: fengyuanxing <feng.yuanxing@zte.com.cn>
-rw-r--r-- | catalog/jobs/views.py | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/catalog/jobs/views.py b/catalog/jobs/views.py index 89b5f088..86f84898 100644 --- a/catalog/jobs/views.py +++ b/catalog/jobs/views.py @@ -53,10 +53,10 @@ class JobView(APIView): response_id = ignore_case_get(request.META, 'responseId') ret = GetJobInfoService(job_id, response_id).do_biz() response_serializer = GetJobResponseSerializer(data=ret) - isValid = response_serializer.is_valid() - if not isValid: - response = self.handleValidatonError(response_serializer, False) - return response + validataion_error = self.handleValidatonError( + response_serializer, False) + if validataion_error: + return validataion_error return Response( data=response_serializer.data, @@ -79,10 +79,10 @@ class JobView(APIView): return Response(data={'result': 'ok'}) request_serializer = PostJobRequestSerializer(data=request.data) - request_isValid = request_serializer.is_valid() - if not request_isValid: - response = self.handleValidatonError(request_serializer, True) - return response + validataion_error = self.handleValidatonError( + request_serializer, True) + if not validataion_error: + return validataion_error requestData = request_serializer.data progress = ignore_case_get(requestData, "progress") @@ -98,11 +98,11 @@ class JobView(APIView): status=status.HTTP_202_ACCEPTED) response_serializer = PostJobResponseResultSerializer( data=response.data) - isValid = response_serializer.is_valid() - if not isValid: - response = self.handleValidatonError( - response_serializer, False) - return response + validataion_error = self.handleValidatonError( + response_serializer, False) + if validataion_error: + return validataion_error + return Response( data=response_serializer.data, status=status.HTTP_202_ACCEPTED) @@ -115,16 +115,20 @@ class JobView(APIView): 'msg': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) - def handleValidatonError(base_serializer, is_request): - errormessage = base_serializer.errors - logger.error(errormessage) + def handleValidatonError(self, base_serializer, is_request): + response = None - if is_request: - message = 'Invalid request' - else: - message = 'Invalid response' - logger.error(message) + if not base_serializer.is_valid(): + errormessage = base_serializer.errors + logger.error(errormessage) - return Response( - data={'result': message, 'msg': errormessage}, - status=status.HTTP_500_INTERNAL_SERVER_ERROR) + if is_request: + message = 'Invalid request' + else: + message = 'Invalid response' + logger.error(message) + + Response( + data={'result': message, 'msg': errormessage}, + status=status.HTTP_500_INTERNAL_SERVER_ERROR) + return response |