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;