Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Proyecto] Hice el manejo del error de cuando se intenta registrar un medico con un email o documento ya registrados

Dado que al momento de crear la base de datos usando la primer versión de la migration se estableció que los campos email y documento son únicos (o sea que NO SE PUEDEN REPETIR), entonces si queremos registrar un nuevo médico con un email o documento ya registrados, Insomnia manda el código http 500 (Internal Server Error). Me di cuenta que ese código http no es correcto y que debería de mandar el 400 (Bad Request) entonces tomé la exception que lanza el stacktrace de la consola de IntelliJ el cual es: SQLIntegrityConstraintViolationException y creé un método que gestiona ese error en la clase GestorDeErrores:

    @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public ResponseEntity<String>
    gestionarErrorEmailODocumentoYaRegistrados(SQLIntegrityConstraintViolationException exception) {
        return ResponseEntity.badRequest().body(exception.getMessage());

    }

Y como ejemplo de ejecución adjunto las siguientes imágenes:
Sin la gestión del error:

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Con la gestión del error:
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
¿Qué opinan?, compañeras y compañeros