student_server/user_add.py

82 lines
2.3 KiB
Python
Raw Normal View History

2025-12-09 09:28:29 +08:00
from flask import Blueprint, request, jsonify
from db_con import con_mysql
user_add_bp = Blueprint('user_add', __name__)
"""
API接口添加用户
接口路径POST /api/user/add
请求体示例
{
"username": "testuser",
"password": "12345678"
}
字段说明
- username (必需)字符串用户名(最长8个字符)
- password (可选)字符串密码(最长8个字符)
"""
@user_add_bp.route('/api/user/add', methods=['POST'])
def add_user():
try:
data = request.get_json()
# 验证必需字段
if not data:
return jsonify({
"success": False,
"message": "请求数据不能为空"
}), 400
username = data.get('username')
password = data.get('password')
# 验证用户名是否为空
if not username:
return jsonify({
"success": False,
"message": "用户名不能为空"
}), 400
# 验证用户名长度
if len(username) > 8:
return jsonify({
"success": False,
"message": "用户名长度不能超过8个字符"
}), 400
# 构建SQL语句
sql = """
INSERT INTO group3_user (username, password)
VALUES (%s, %s)
"""
params = (username, password)
# 执行SQL
result = con_mysql(sql, params)
if result['success']:
return jsonify({
"success": True,
"message": "用户添加成功",
"data": {
"username": username,
"password": password,
"affected_rows": result.get('affected_rows')
}
}), 201
else:
return jsonify({
"success": False,
"message": "添加用户失败",
"error": result.get('error', '未知错误')
}), 500
except Exception as e:
return jsonify({
"success": False,
"message": "服务器内部错误",
"error": str(e)
}), 500