用python 和 mysql写一个留言板的后端代码,接口
时间: 2024-01-22 12:20:05 浏览: 131
好的,以下是一个简单的基于 Flask 和 MySQL 的留言板后端代码,包含了常见的增删改查接口:
```python
from flask import Flask, request, jsonify
import pymysql
app = Flask(__name__)
# 连接 MySQL 数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='123456',
database='message_board',
charset='utf8mb4'
)
cursor = conn.cursor()
# 新增留言接口
@app.route('/message', methods=['POST'])
def add_message():
content = request.json.get('content')
if not content:
return jsonify({'message': '内容不能为空'}), 400
try:
cursor.execute("INSERT INTO messages (content) VALUES (%s)", content)
conn.commit()
return jsonify({'message': '新增留言成功'}), 201
except Exception as e:
conn.rollback()
return jsonify({'message': str(e)}), 500
# 获取留言列表接口
@app.route('/messages', methods=['GET'])
def get_messages():
cursor.execute("SELECT * FROM messages ORDER BY id DESC")
messages = cursor.fetchall()
result = []
for m in messages:
result.append({'id': m[0], 'content': m[1]})
return jsonify(result)
# 修改留言接口
@app.route('/message/<int:message_id>', methods=['PUT'])
def update_message(message_id):
content = request.json.get('content')
if not content:
return jsonify({'message': '内容不能为空'}), 400
try:
cursor.execute("UPDATE messages SET content=%s WHERE id=%s", (content, message_id))
conn.commit()
return jsonify({'message': '修改留言成功'}), 200
except Exception as e:
conn.rollback()
return jsonify({'message': str(e)}), 500
# 删除留言接口
@app.route('/message/<int:message_id>', methods=['DELETE'])
def delete_message(message_id):
try:
cursor.execute("DELETE FROM messages WHERE id=%s", message_id)
conn.commit()
return jsonify({'message': '删除留言成功'}), 200
except Exception as e:
conn.rollback()
return jsonify({'message': str(e)}), 500
if __name__ == '__main__':
app.run(debug=True)
```
需要注意的是,这里使用了 pymysql 库来连接 MySQL 数据库,所以需要提前安装。同时,为了简化代码,这里没有做参数校验和异常处理,实际使用时需要自行添加。另外,这个留言板只是一个简单的 demo,实际使用时还需要考虑很多方面,比如用户身份认证、防止 XSS 攻击等等。
阅读全文