Este proyecto implementa una aplicación CRUD (Crear, Leer, Actualizar, Eliminar) utilizando Spring Boot. Proporciona una API RESTful para la gestión de usuarios y productos.
- Java 21
- Maven
- MySQL
- Clona este repositorio.
- Configura tu base de datos MySQL.
- Actualiza las credenciales de la base de datos en el archivo
application.properties
. - Ejecuta la aplicación Spring Boot.
La API se encuentra alojada en el servidor local en el puerto 8080. Puedes interactuar con los siguientes recursos:
- Listar Usuarios:
GET /api/users
- Crear Usuario:
POST /api/users
(Se requiere autenticación de administrador) - Registrar Usuario:
POST /api/users/register
(Para todos los usuarios)
- Listar Productos:
GET /api/products
- Ver Producto por ID:
GET /api/products/{id}
- Crear Producto:
POST /api/products
(Se requiere autenticación de administrador) - Actualizar Producto:
PUT /api/products/{id}
(Se requiere autenticación de administrador) - Eliminar Producto:
DELETE /api/products/{id}
(Se requiere autenticación de administrador)
La autenticación en esta API se realiza utilizando JSON Web Tokens (JWT). Los tokens JWT se emiten después de que un usuario inicia sesión correctamente y deben ser incluidos en el encabezado de autorización de las solicitudes protegidas.
Si las credenciales son válidas, la API devolverá un token JWT aleatorio en la respuesta (encabezado):
{
"token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlbmplY2xvVXNlciIsInJvbGUiOiJST0xFX0FETUlOIn0.A1-B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0U1V2W3X4Y5Z6a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9x0y1z2A3B4C5D6E7F8G9H0I"
}
Para probar los endpoints de la API, se recomienda utilizar Postman.
- Descarga e instala Postman.
- Abre Postman.
- Utiliza las diferentes solicitudes de la colección para interactuar con la API.