La API de Productos permite gestionar un inventario de productos, incluyendo funcionalidades para listar, agregar, actualizar y eliminar productos.
- Node.js
- Express
- Sequelize
- MySQL
Crear una base de datos llamada productManagement.
- Método:
GET - Ruta:
/productos - Descripción: Devuelve una lista de todos los productos disponibles.
- Ejemplo de Respuesta:
[ { "id": 1, "nombre": "Producto A", "descripcion": "Descripción A", "precio": 100, "cantidad_stock": 50 }, { "id": 2, "nombre": "Producto B", "descripcion": "Descripción B", "precio": 200, "cantidad_stock": 30 } ]
- Método:
POST - Ruta:
/productos - Descripción: Permite agregar un nuevo producto al inventario.
- Ejemplo de Solicitud:
{ "nombre": "Nuevo Producto", "descripcion": "Descripción del nuevo producto", "precio": 150, "cantidad_stock": 20 }
- Método:
GET - Ruta:
/productos/{id} - Descripción: Obtiene la información detallada de un producto específico por su ID.
- Ejemplo de Respuesta:
{ "id": 1, "nombre": "Producto A", "descripcion": "Descripción A", "precio": 100, "cantidad_stock": 50, "created_at": "2024-01-01 00:00:00", "updated_at": "2024-01-01 00:00:00" }
- Método:
PUT - Ruta:
/productos/{id} - Descripción: Actualiza la información de un producto existente. Permite descontar stock si se proporciona el campo
descuento_stock. - Ejemplo de Solicitud:
{ "nombre": "Producto A Actualizado", "descripcion": "Descripción actualizada", "precio": 120, "cantidad_stock": 40, "descuento_stock": 10 }
- Método:
DELETE - Ruta:
/productos/{id} - Descripción: Elimina un producto del inventario.
- Ejemplo de Respuesta:
{ "message": "Producto 'Nombre del Producto' eliminado con éxito." } - Manejo de errores: Si el producto no existe, se devolverá un mensaje de error:
{ "error": "Producto no encontrado." }
-
Clonar el repositorio:
https://github.com/HuachaDev/nodejs-crud-api.git
-
Instalar las dependencias:
npm install
-
Crear y configurar la base de datos:
- Crear una base de datos llamada
productManagementen MySQL.
- Crear una base de datos llamada
-
Levantar el servidor local:
node src/server.js
El servidor estará disponible en http://localhost:3000.