首页 > 解决方案 > 带参数的 GET 请求 FlasK/Rest API

问题描述

我正在尝试执行 GET 请求,该请求应根据设置的参数从我的数据库中打印特定行。参数应该是课程的名称,我希望它从所选课程中获取所有数据。将其解释为 SQL 查询可能会更容易一些。查询可能看起来像这样“SELECT * FROM courselist WHERE course='D0024E';” 在哪里“课程”。

我已经设法执行 fetchall() 并从特定表中接收所有行,但我没有设法使参数正常工作,因此我可以从特定课程中获取信息。

from flask import Flask
from flask import render_template
import requests
from flask import request
from flask import jsonify
import mysql.connector

app = Flask(__name__)

mydb = mysql.connector.connect(user='Mille',
                          auth_plugin='mysql_native_password',
                          password='jagheter12',
                          host='localhost',
                          database='paraplyet')

@app.route('/')
def index():
    return render_template("index2.html")

@app.route('/courses', methods= ["GET"])
def getStudentInCourse():
    myCursor2 = mydb.cursor()
    query2 = ("SELECT * FROM paraplyet.kursinfo")
    myCursor2.execute(query2)
    myresult2 = myCursor2.fetchall()

    return jsonify(myresult2)

if __name__ == '__main__':
    app.run()

标签: pythonmysqlrestflaskflask-restful

解决方案


您需要更新您的路由 url 以接收参数

@app.route('/courses/<course_code>', methods= ["GET"])
def getStudentInCourse(course_code):

然后你可以使用这个 course_code 来过滤结果。


推荐阅读