
如何找到合適的API
請注意,這是一個用于執行CRUD操作和關閉連接的基本腳本。您越想擴展和自定義這些功能,就需要編寫越多的代碼。
要使用代碼創建 MySQL REST API,您必須首先設置 Python、Web 框架和適用于 Python 的 MySQL 連接器。以下示例使用 Flask 作為 Web 框架:
from flask import Flask, request, jsonify
import mysql.connector
from mysql.connector import Error
app = Flask(__name__)
# Function to create a MysQL connection
def create_connection():
connection = None
try:
connection = mysql.connector.connect(
host='localhost',
user='root',
password="password
database = 'mydatabase
)
if connection.is_connected():
print("connected to MysQL")
except Error as e:
print(f"Error: {e}")
return connection
# Initialize the database connection
connection = create_connection()
cursor = connection.cursor(dictionary=True)
# 1. GET /users: Retrieve all users
@app.route('/users',methods=['GET'])
def get_users():
try:
cursor.execute("SELECT * FROM users")
users = cursor.fetchall()
return jsonify(users)
except Error as e:
return jsonify({"error": str(e)})
# 2. PoST /users: Create a new user
@app.route("/users', methods=['POST'])
def add_user():
try:
user = request.json
cursor.execute("INSERT INTO users (name, email) VALUES (%s, %s)", (user['name'], user['email']))
connection.commit()
return jsonify({'id': cursor.lastrowid})
except Error as e:
return jsonify({"error": str(e)})
# 3. PUT /users/<int:id>: Update an existing user
@app.route("/users/<int:id>', methods=['PUT'])
def update_user(id):
try:
user = request.json
cursor.execute("UPDATE users SET name = %s, email = %s WHERE id = %s", (user['name"], user['email'], id))
connection.commit()
return "user updated
except Error as e:
return jsonify({"error": str(e)})
# 4. DELETE /users/<int:id>: Delete a user by ID
@app.route("/users/<int:id>', methods=['DELETE'])
def delete_user(id):
try:
cursor.execute("DELETE FROM userS WHERE id = %s”,(id,))
connection.commit()
return 'user deleted'
except Error as e:
return jsonify({"error": str(e)})
if __name__== '__main__':
app.run(port=3000)
# Close the connection when the script terminates
@app.teardown_appcontext
def close_connection(exception):
if connection.is_connected():
cursor.close()
connection.close()
print("mysQl connection is closed")
上面的代碼將幫助您使用 Python 中的 Flask 設置 MySQL REST API。此 API 將僅執行基本的 CRUD 操作并管理數據庫連接。擴展其功能(例如,定義新路由、擴展數據模型或實現錯誤處理和驗證)將需要額外的代碼。
原文鏈接:MySQL API: What It Is and How to Create One in Minutes