-
Notifications
You must be signed in to change notification settings - Fork 0
/
api_rest.py
57 lines (48 loc) · 1.95 KB
/
api_rest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from flask import Flask, request, jsonify
import mysql.connector
app = Flask(__name__)
# Configura la conexión a la base de datos MySQL
db = mysql.connector.connect(
host="tu_host_mysql",
user="tu_usuario_mysql",
password="tu_contraseña_mysql",
database="tu_base_de_datos_mysql"
)
# Ruta para obtener todos los elementos de la tabla
@app.route('/api/items', methods=['GET'])
def get_items():
cursor = db.cursor()
cursor.execute("SELECT * FROM tu_tabla_mysql")
items = cursor.fetchall()
cursor.close()
return jsonify(items)
# Ruta para agregar un nuevo elemento a la tabla
@app.route('/api/items', methods=['POST'])
def add_item():
data = request.json
cursor = db.cursor()
cursor.execute("INSERT INTO tu_tabla_mysql (nombre, descripcion) VALUES (%s, %s)", (data['nombre'], data['descripcion']))
db.commit()
cursor.close()
return jsonify({"message": "Elemento agregado correctamente"})
# Ruta para actualizar un elemento en la tabla por su ID
@app.route('/api/items/<int:item_id>', methods=['PUT'])
def update_item(item_id):
data = request.json
cursor = db.cursor()
cursor.execute("UPDATE tu_tabla_mysql SET nombre = %s, descripcion = %s WHERE id = %s", (data['nombre'], data['descripcion'], item_id))
db.commit()
cursor.close()
return jsonify({"message": "Elemento actualizado correctamente"})
# Uso: Envia una solicitud PUT a /api/items/{id} con los datos a actualizar en el cuerpo de la solicitud en formato JSON.
# Ruta para eliminar un elemento de la tabla por su ID
@app.route('/api/items/<int:item_id>', methods=['DELETE'])
def delete_item(item_id):
cursor = db.cursor()
cursor.execute("DELETE FROM tu_tabla_mysql WHERE id = %s", (item_id,))
db.commit()
cursor.close()
return jsonify({"message": "Elemento eliminado correctamente"})
# Uso: Envía una solicitud DELETE a /api/items/{id} para eliminar un elemento por su ID.
if __name__ == '__main__':
app.run(debug=True)