Blog Mauricio Alpizar Lumen/Laravel Manejo de Error (un handler ) en Lumen si no hay conexión a la base de datos.

Manejo de Error (un handler ) en Lumen si no hay conexión a la base de datos.

El siguiente código funciona en el caso de que un Microservicio pierda conexión con la base de datos y la respuesta del request devuelva el mensaje en una estructura JSON, esto con el fin de que NO devuelva HTML con el mensaje de error por defecto y eventualmente nuestro servicio pueda manejarlo.

En la ruta app/Exceptions/Handler.php modificar el método render con el siguiente código.

    public function render($request, Throwable $exception)
    {
        //return parent::render($request, $exception);
        if ($exception instanceof \Illuminate\Database\QueryException) {
            //dd($exception->getMessage());
            //return response()->view('custom_view');
            return $this->successResponse(array('error'=>' No hay conexión con la base de datos'),Response::HTTP_OK);
        } elseif ($exception instanceof \PDOException) {
            //dd($exception->getMessage());
            return $this->successResponse(array('estado'=>' No hay conexión con la base de datos'),Response::HTTP_OK);
            //return response()->view('custom_view');
        }
    }

Nota:

Tiene dependencias con las librerias:

use App\Traits\ApiResponser;
use Illuminate\Http\Response;

Related Post