API REST para gestionar productos (CRUD), hecha con Spring Boot. Es mi primer proyecto backend.
- Java 21
- Spring Boot 4.1.1
- Spring Web
- Spring Data JPA
- H2 Database (en memoria)
- Maven
El proyecto sigue una arquitectura en capas:
Controller → Service → Repository → Base de datos
- Controller: recibe las peticiones HTTP.
- Service: contiene la lógica de negocio.
- Repository: accede a la base de datos con Spring Data JPA.
- Producto: entidad que se mapea a la tabla
PRODUCTO.
- Clona el repositorio.
- Ábrelo con IntelliJ IDEA (JDK 21).
- Ejecuta
ProductosApplication. - La API queda en
http://localhost:8081.
La consola de H2 está en http://localhost:8081/h2-console
(JDBC URL: jdbc:h2:mem:tienda, usuario: sa, sin contraseña).
La base de datos es en memoria: los datos se borran al apagar la app.
| Método | URL | Descripción |
|---|---|---|
| GET | /productos |
Lista todos los productos |
| POST | /productos |
Crea un producto |
| PUT | /productos/{id} |
Actualiza un producto |
| DELETE | /productos/{id} |
Elimina un producto |
{
"nombre": "Playera",
"precio": 199
}- Validaciones y manejo de errores (404)
- DTOs
- Migrar de H2 a MySQL
- Seguridad con Spring Security y JWT