reportable(function (Throwable $e) { // }); $this->renderable(function (AuthenticationException $e) { return response()->json(fail($e->getMessage(), $e->guards()), 401); }); $this->renderable(function (ValidationException $exception) { $errors = $exception->errors(); $msg = Arr::first(Arr::first($errors)); return response()->json(fail($msg, $errors)); }); } /** * Prepare a JSON response for the given exception. * * @param \Illuminate\Http\Request $request * @param \Throwable $e * @return \Illuminate\Http\JsonResponse */ protected function prepareJsonResponse($request, Throwable $e) { return new JsonResponse( fail(config('app.debug') ? ($e->getMessage() ?: get_class($e)) : 'Server Error', []), $this->isHttpException($e) ? $e->getStatusCode() : 500, $this->isHttpException($e) ? $e->getHeaders() : [], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES ); } }