Una API RESTful desarrollada con Spring Boot para gestionar roles y usuarios, con funcionalidades de autenticación.
Base URL: /api/roles
GET /api/roles- Obtiene todos los roles registrados.POST /api/roles- Crea un nuevo rol.
Base URL: /api/usuarios
GET /api/usuarios- Obtiene una lista paginada de usuarios.- Parámetros opcionales:
page(por defecto: 0)size(por defecto: 5)
- Parámetros opcionales:
GET /api/usuarios/{id}- Obtiene los detalles de un usuario por su ID.PUT /api/usuarios/{id}/rol- Actualiza el rol de un usuario existente por su ID.DELETE /api/usuarios/{id}- Elimina un usuario por su ID de manera logica.
Base URL: /auth
POST /auth/login- Autentica un usuario mediante sus credenciales.- Body:
{ "email": "string", "password": "string" }
- Body:
POST /auth/register- Registra un nuevo usuario.POST /auth/logout- Cierra la sesión del usuario autenticado.GET /auth/sesion- Obtine la sesion del usuario.
Base URL: /api/notas
GET /api/notas- Obtiene una lista paginada de notas.- Parámetros opcionales:
page(por defecto: 0)size(por defecto: 5)
- Filtra el rol del usuario y muestra solo las notas propias o, si se es administrador, las de todos los usuarios.
- Parámetros opcionales:
POST /api/notas/{usuarioId}- Crea una nueva nota asociada a un usuario.GET /api/notas/{id}- Obtiene los detalles de una nota por su ID.PUT /api/notas/{id}- Actualiza una nota existente por su ID.PUT /api/notas/{id}/estado- Actualiza el estado de una nota existente por su ID.DELETE /api/notas/{id}- Elimina una nota de forma logica por su ID.
- Framework principal para el desarrollo de la aplicación.
- Base de datos en memoria para propósitos de desarrollo y pruebas.
- Jakarta Validation - Validación de datos de entrada.
-
Clona este repositorio:
git clone <url_del_repositorio>
-
Ve al directorio del proyecto:
cd notasBackend -
Configura las propiedades de la base de datos y el token de autenticación en
application.propertiessi es necesario. -
Ejecuta la aplicación:
./mvnw spring-boot:run
-
Accede a la API en http://localhost:8080.
- Implementar seguridad con Spring Security.
- Añadir más endpoints para la gestión de notas.
- Mejorar el manejo de errores y validaciones adicionales.
¡Contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request.