错误信息:127.0.0.1 - - [30/Apr/2024 15:14:20] "GET /get_data HTTP/1.1" 404 -
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8089
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 139-457-563
127.0.0.1 - - [30/Apr/2024 15:13:27] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [30/Apr/2024 15:14:19] "GET /get_data HTTP/1.1" 404 -
127.0.0.1 - - [30/Apr/2024 15:14:20] "GET /get_data HTTP/1.1" 404 -
错误原因: 在之前设置了端口号
from flask import Flask, make_response
from flask_cors import CORS
from mysql.connector import connect, Error
app = Flask(__name__)
# 允许跨域
CORS(app, supports_credentials=True)
app.run(debug=True,port=8089)#app.run应该在代码最后使用
def con_db():
"""Connect to the database."""
# 创建连接数据源
try:
db = connect(
host="localhost",
user="root",
password="123456",
database="tzkj",
charset="utf8"
)
return db
except Error as e:
print(f"Error connecting to the database: {e}")
return None
@app.route("/get_data", methods=["GET"]) # 方法名应大写"GET"
def get_data():
try:
# 引用数据源创建连接进行查询1
with con_db() as conn:
if conn is not None:
# 进行sql查询
sql = """
SELECT *
FROM sys_attend_main
WHERE doc_create_time >= '2023-04-17 00:00:00'
AND doc_create_time < '2023-04-18 00:00:00'
AND (fd_alter_record IS NULL OR fd_alter_record = '有效考勤记录更新,记录对应的时间到原始记录!')
AND doc_creator_id = '184c66fe4a319cdf39be49c4432a8019'
"""
with conn.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
data_list = [{'fdId': item[0],
'fdStatus': item[1],
'fdState': item[2],
'docCreateTime': item[3],
'docAlterTime': item[4]}
for item in result]
print(data_list)
# 注意这里的字典格式,":"后面应直接跟字段值,修正为{"res": data_list}
return make_response({"res": data_list})
else:
print("Database connection is not established.")
return make_response({"error": "Database connection failed."}), 500
except Error as e:
print(f"Error fetching data: {e}")
return make_response({"error": str(e)}), 500
修改后
from flask import Flask, make_response
from flask_cors import CORS
from mysql.connector import connect, Error
app = Flask(__name__)
# 允许跨域
CORS(app, supports_credentials=True)
def con_db():
"""Connect to the database."""
# 创建连接数据源
try:
db = connect(
host="localhost",
user="root",
password="123456",
database="tzkj",
charset="utf8"
)
return db
except Error as e:
print(f"Error connecting to the database: {e}")
return None
@app.route("/get_data", methods=["GET"]) # 方法名应大写"GET"
def get_data():
try:
# 引用数据源创建连接进行查询1
with con_db() as conn:
if conn is not None:
# 进行sql查询
sql = """
SELECT *
FROM sys_attend_main
WHERE doc_create_time >= '2023-04-17 00:00:00'
AND doc_create_time < '2023-04-18 00:00:00'
AND (fd_alter_record IS NULL OR fd_alter_record = '有效考勤记录更新,记录对应的时间到原始记录!')
AND doc_creator_id = '184c66fe4a319cdf39be49c4432a8019'
"""
with conn.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
data_list = [{'fdId': item[0],
'fdStatus': item[1],
'fdState': item[2],
'docCreateTime': item[3],
'docAlterTime': item[4]}
for item in result]
print(data_list)
# 注意这里的字典格式,":"后面应直接跟字段值,修正为{"res": data_list}
return make_response({"res": data_list})
else:
print("Database connection is not established.")
return make_response({"error": "Database connection failed."}), 500
except Error as e:
print(f"Error fetching data: {e}")
return make_response({"error": str(e)}), 500
app.run(port=5004)
问题解决: