Excepciones y mensajes
En esta API se manejan las excepciones de forma personalizada y controlada.
Para ellos se hace uso de un Exceptionhandler: 🔗 Ver clase ApiExceptionHandler en GitHub.
Listado de Códigos de error
Excepción
Código
Descripción
Mensaje de error
BadRequestException
400
Se lanza cuando la solicitud del cliente es incorrecta o inválida (parámetros faltantes, formato incorrecto, etc.).
Bad request exception (400). + mensaje concreto de la excepción
NotFoundException
404
Recurso no encontrado. Por ejemplo, cuando se intenta acceder a una ruta o usuario que no existe.
Not Found Exception (404). + mensaje concreto
ConflictException
409
Conflicto con el estado actual del recurso, como duplicidad en creación o actualización (p. ej., ruta con nombre repetido).
Conflict Exception (409). + mensaje concreto
AlreadyExistsException
409
Recurso ya existente. Normalmente cuando se intenta crear un recurso que ya está en BBDD. Equivalente funcional a ConflictException.
Conflict Exception (409). + mensaje concreto
UnauthorizedException
401
El usuario no ha proporcionado credenciales válidas o no está autenticado.
Unauthorized Exception (401). + mensaje concreto
ForbiddenException
403
El usuario está autenticado pero no tiene permisos suficientes para acceder al recurso.
Forbidden Exception (403). + mensaje concreto
InternalAuthenticationServiceException
401
Se lanza cuando las credenciales son incorrectas al iniciar sesión con Spring Security.
Login no efectuado, credenciales incorrectas
BadCredentialsException
401
Similar a la anterior, se lanza por credenciales inválidas en autenticación.
Login no efectuado, credenciales incorrectas
GeneralAppException
500
Error genérico de aplicación no manejado específicamente.
Application Exception (500). + mensaje concreto
FirebaseException
500
Error relacionado con la comunicación o respuesta desde Firebase (por ejemplo, token inválido, usuario no encontrado en Firebase, etc.).
Firebase Exception (500). + mensaje concreto
Exception (genérica)
500
Captura cualquier otra excepción no controlada, como errores internos del servidor o bugs no previstos.
An unexpected error occurred o exception.message si existe
Última actualización