API REST desarrollada con Spring Boot para la gestión de usuarios, implementando un CRUD completo con persistencia en PostgreSQL.
- Java 17
- Spring Boot
- Spring Data JPA (Hibernate)
- PostgreSQL
- Bean Validation (jakarta.validation)
- Maven
El proyecto sigue una arquitectura en capas:
- Controller → Manejo de requests HTTP
- Service → Lógica de negocio
- Repository → Acceso a datos (JPA)
- DTO → Validación y desacople de entrada
- Crear usuario
- Listar usuarios
- Obtener usuario por ID
- Actualizar usuario
- Eliminar usuario
- Validación de datos de entrada
- Manejo global de errores
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /users | Listar usuarios |
| GET | /users/{id} | Obtener usuario |
| POST | /users | Crear usuario |
| PUT | /users/{id} | Actualizar usuario |
| DELETE | /users/{id} | Eliminar usuario |
{
"name": "Pablo",
"email": "pablo@test.com"
}name: obligatorio (@NotBlank)
email: formato válido (@Email)
{
"errors": [
"El nombre no puede estar vacío",
"Debe ser un email válido"
]
}
{
"error": "Usuario no encontrado"
}
Ejemplo consulta:
SELECT * FROM users;
-
Clonar repositorio
-
Configurar base de datos en application.properties
-
Ejecutar:
Run en el archivo > UserManagementApiApplication.java
mvn spring-boot:run
API disponible en:
http://localhost:8080
La API fue probada usando Postman, validando:
- CRUD completo
- Validaciones (400 Bad Request)
- Manejo de errores (404 Not Found)
- Persistencia en PostgreSQL ejecutando queries directamente en PostgreSQL con psql
| Postman | psql |
|---|---|
Se incluye una colección de Postman para probar la API fácilmente.
- Abrir Postman
- Importar archivo:
/postman/postman_collection.json
- Ejecutar los endpoints disponibles:
- Create User
- Get All Users
- Get User By ID
- Update User
- Delete User
👨💻 Autor Pablo Amion | Ingeniería informática
Proyecto desarrollado como práctica backend orientada a API REST con Spring Boot.