Esta API REST permite gestionar productos en una base de datos. Incluye operaciones para listar, buscar, crear, actualizar y eliminar productos.
La Arquitectura de software utilizada es la arquitectura de N-Capas, en el cual cada modulo realizara una tarea especifica.
-
Entidad
-
Repository
-
Service
-
ServiceImpl
-
Controller
- Java 17+
- Spring Boot
- Lombok
- JPA/Hibernate
- Base de datos MySQL
- Maven
Editar el archivo application.properties para configurar la conexión a la base de datos.
mvn spring-boot:run
La API estará disponible en http://localhost:8080/api/v1/products.
- Todos los productos (activos e inactivos)
GET /api/v1/products - Solo productos activos
GET /api/v1/products/active
- Por ID (Path Variable)
GET /api/v1/products/{id} - Por ID (Request Param)
GET /api/v1/products/getProductByIdRP?id=1 - Por nombre exacto
GET /api/v1/products/search/exact?name=ProductoEjemplo - Por coincidencia parcial en el nombre
GET /api/v1/products/search/partial?characters=prod
POST /api/v1/products
Content-Type: application/json
{
"name": "Nuevo Producto",
"description": "Descripción del producto",
"stock": 100,
"precio": 19.99,
"image": "url-de-la-imagen"
}
- Actualizar completamente
PUT /api/v1/products/{id} - Actualizar parcialmente
PATCH /api/v1/products/{id}
- Eliminación física (Hard Delete)
DELETE /api/v1/products/{id} - Eliminación lógica (Soft Delete)
DELETE /api/v1/products/{id}/deactivate
Elaborado con Swagger
