Я пытаюсь создать простое веб-приложение с 3 веб-сервисами. Предполагается, что две из моих веб-служб проверят, существует ли студент на курсе или нет. Это делается простым SELECT-запросом. Мой третий веб-сервис должен добавить студента в базу данных, но только в том случае, если этот студент существует в конкретном курсе.
Это мой валидационный WS, который должен возвращать true / false.
@app.route('/checkStudOnCourse/<string:AppCode>/<string:ideal>', methods= ["GET"])
def checkStudOnCourseWS(AppCode, ideal):
myCursor3 = mydb.cursor()
query3 = ("SELECT studentID FROM Ideal.course WHERE applicationCode = " + "'" + AppCode + "' AND Ideal = " + "'" + ideal + "'")
myCursor3.execute(query3)
myresult3 = myCursor3.fetchall()
if len(myresult3) == 0:
return render_template('Invalid.html')
else:
return jsonify({'Student in course ': True})
Ниже приведен regResult, который должен выполнять вставку SQL в базу данных. Я хочу, чтобы отправка работала только в том случае, если приведенный выше результат "True", как я могу это сделать? Я знаю, что не выполнил запрос INSERT, но это не проблема.
В чем я не уверен, так это: как я могу разрешить вставку только в том случае, если WS проверки «True».
@app.route('/register', methods=["POST", "GET"])
def regResultat():
if request.method == "POST":
Period = request.form['period']
#ProvNr = request.form['provNr']
Grade = request.form['grade']
Applicationcode = request.form['applicationcode']
#Datum = request.form['datum']
Ideal = request.form['ideal']
CheckStudOnCourse = 'http://127.0.0.1:5000/checkAppCodeWS/'+Applicationcode+'/'+Ideal
CheckStudOnResp = requests.get(CheckStudOnCourse)