Skip to content

Crear una API REST con Flask* y MySQL es una excelente manera de gestionar datos de manera persistente en una base de datos relacional. A continuación, te guiaré paso a paso para construir una API que permita gestionar una lista de tareas (todo list) utilizando Flask y MySQL.

Notifications You must be signed in to change notification settings

urian121/construyendo-una-APIs-REST-con-Flask-y-MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Construyendo una API RESTful con Flask y MySQL 🔥

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.

Resultado final

Tabla de Contenidos

  1. Descripción
  2. Requisitos
  3. Instalación
  4. Uso
  5. Endpoints
  6. Ejemplos de Solicitudes

Descripción

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.

Requisitos

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.

Estructura de 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
);

Instalación

  1. 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
  2. Crea un entorno virtual (opcional pero recomendado):

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate  # Windows
  3. Instala las dependencias:

    pip install -r requirements.txt
  4. Configura la conexión a la base de datos:

    • Abre db.py y actualiza los valores de host, user, passwd y database con tus credenciales de MySQL.
  5. Ejecuta la aplicación:

    python app.py

La API estará disponible en http://localhost:5000.

Uso

La API proporciona endpoints para gestionar tareas. A continuación, se detallan los endpoints disponibles.

Endpoints

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

Ejemplos de Solicitudes

Crear una nueva tarea

Solicitud:

curl -X POST http://localhost:5000/todos

Respuesta:

{
    "id": 1,
    "title": "Comprar leche",
    "completed": false,
    "created_at": "2023-10-01T12:00:00"
}

Obtener todas las tareas

Solicitud:

curl http://localhost:5000/todos

Respuesta:

[
    {
        "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"
    }
]

Obtener una tarea específica

Solicitud:

curl http://localhost:5000/todos/1

Respuesta:

{
    "id": 1,
    "title": "Comprar leche",
    "completed": false,
    "created_at": "2023-10-01T12:00:00"
}

Actualizar una tarea

Solicitud:

curl -X PUT http://localhost:5000/todos/1

Respuesta:

{
    "id": 1,
    "title": "Comprar pan",
    "completed": true,
    "created_at": "2023-10-01T12:00:00"
}

Eliminar una tarea

Solicitud:

curl -X DELETE http://localhost:5000/todos/1

Respuesta:

HTTP/1.1 204 No Content

🙌 Cómo puedes apoyar 📢:

Comparte este proyecto con otros desarrolladores para que puedan beneficiarse 📢.

Invítame un café o una cerveza 🍺:

⚡ ¡No olvides SUSCRIBIRTE a la Comunidad WebDeveloper!

Déjanos una estrella en GitHub:

  • Dicen que trae buena suerte 🍀. Gracias por tu apoyo 🤓.

About

Crear una API REST con Flask* y MySQL es una excelente manera de gestionar datos de manera persistente en una base de datos relacional. A continuación, te guiaré paso a paso para construir una API que permita gestionar una lista de tareas (todo list) utilizando Flask y MySQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages