Я пытаюсь сопоставить детали с базой данных, если пользователь вводит данные в формате json. мы должны проверить ключи, если ключи присутствуют в данных (которые у нас есть), он должен выполнить некоторую предварительную обработку и вернуть результаты. Я создаю API, который возвращается в соответствии с потребностями.
Здесь я использовал несколько операторов if, но я хочу сократить свой код, есть ли способ получить это?
Ниже приведено мой код для справки
@app.route('/api',methods=['GET'])
def aadhar_pan_users_check():
data=request.get_json()
aadhar=data.get('aadhar')
pancard=data.get('pan')
fname = data.get('firstName')
lname = data.get('lastName')
gender = data.get('gender')
cust_type = data.get('cust_type')
dob = data.get('dob')
res=[]
if aadhar!=None and pancard!=None:
res.append((aadhar_check(aadhar), pan_check(pancard)))
return str(res)
elif pancard!=None:
return str(pan_check(pancard))
elif aadhar!=None:
return str(aadhar_check(aadhar))
# return jsonify({'aadhar': str(aadhar_check(aadhar))})
elif fname!=None and lname!=None and gender!=None and cust_type!=None and dob!=None and aadhar!=None and pancard!=None:
ret=[fname,lname,gender,cust_type,dob, aadhar, pancard]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type'],formatting_data['dob'],formatting_data['aadhar'],formatting_data['pan']]
# print(ret_ty)
return (preprocess_user_data(ret,ret_ty),aadhar_check(aadhar),pan_check(pancard))
elif fname!=None and lname!=None and gender!=None and cust_type!=None:
ret=[fname,lname,gender,cust_type]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None and gender!=None:
ret=[fname,lname,gender]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
elif fname!=None and lname!=None and dob!=None:
ret=[fname,lname,dob]
print(1000*'3')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['dob']]
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None:
ret=[fname,lname]
ret_ty=[formatting_data['fname'],formatting_data['lname']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
elif fname!=None and lname!=None and cust_type!=None and dob!=None:
ret=[fname,lname,gender,cust_type,dob]
print(1000*'4')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['client_type'],formatting_data['dob']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None and gender!=None and cust_type!=None:
ret=[fname,lname,gender,cust_type]
print(1000*'5')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None:
ret=[fname]
print(type(fname))
ret_ty=[formatting_data['fname']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
else:
return "Something wrong"
У меня есть несколько функций, которые помогают в предварительной обработке.