Este proyecto es una API RESTful desarrollada con Flask y MySQL, diseñada para gestionar tareas (To-Do List). La API proporciona endpoints para realizar operaciones CRUD (Crear, Leer, Actualizar y Eliminar) sobre una tabla todos.
Esta API permite gestionar una lista de tareas (To-Do List) utilizando una base de datos MySQL. Los usuarios pueden crear, leer, actualizar y eliminar tareas mediante solicitudes HTTP.
Para ejecutar este proyecto, necesitas:
- Python 3.x
- Flask (
pip install flask) - Flask-CORS (
pip install flask-cors) - mysql-connector-python (
pip install mysql-connector-python) - Una base de datos MySQL configurada con la tabla
todos.
CREATE TABLE todos (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
completed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-
Clona este repositorio:
git clone https://github.com/urian121/construyendo-una-APIs-REST-con-Flask-y-MySQL cd construyendo-una-APIs-REST-con-Flask-y-MySQL -
Crea un entorno virtual (opcional pero recomendado):
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
-
Instala las dependencias:
pip install -r requirements.txt
-
Configura la conexión a la base de datos:
- Abre
db.pyy actualiza los valores dehost,user,passwdydatabasecon tus credenciales de MySQL.
- Abre
-
Ejecuta la aplicación:
python app.py
La API estará disponible en http://localhost:5000.
La API proporciona endpoints para gestionar tareas. A continuación, se detallan los endpoints disponibles.
| Método HTTP | Endpoint | Descripción |
|---|---|---|
GET |
/ |
Mensaje de bienvenida |
POST |
/todos |
Crear una nueva tarea |
GET |
/todos |
Obtener todas las tareas |
GET |
/todos/<int:todo_id> |
Obtener una tarea específica por su ID |
PUT |
/todos/<int:todo_id> |
Actualizar una tarea específica por su ID |
DELETE |
/todos/<int:todo_id> |
Eliminar una tarea específica por su ID |
Solicitud:
curl -X POST http://localhost:5000/todosRespuesta:
{
"id": 1,
"title": "Comprar leche",
"completed": false,
"created_at": "2023-10-01T12:00:00"
}Solicitud:
curl http://localhost:5000/todosRespuesta:
[
{
"id": 1,
"title": "Comprar leche",
"completed": false,
"created_at": "2023-10-01T12:00:00"
},
{
"id": 2,
"title": "Estudiar Flask",
"completed": true,
"created_at": "2023-10-01T12:05:00"
}
]Solicitud:
curl http://localhost:5000/todos/1Respuesta:
{
"id": 1,
"title": "Comprar leche",
"completed": false,
"created_at": "2023-10-01T12:00:00"
}Solicitud:
curl -X PUT http://localhost:5000/todos/1Respuesta:
{
"id": 1,
"title": "Comprar pan",
"completed": true,
"created_at": "2023-10-01T12:00:00"
}Solicitud:
curl -X DELETE http://localhost:5000/todos/1Respuesta:
HTTP/1.1 204 No Content✨ Comparte este proyecto con otros desarrolladores para que puedan beneficiarse 📢.
☕ Invítame un café o una cerveza 🍺:
- Paypal (
iamdeveloper86@gmail.com).
⚡ ¡No olvides SUSCRIBIRTE a la Comunidad WebDeveloper!
- Dicen que trae buena suerte 🍀. Gracias por tu apoyo 🤓.
