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 GitHubarrow-up-right.

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