使用查询
composer require betterde/response // 安装后直接调用以下 # stored return stored($data, $message = '创建成功'); #updated return updated($data, $message = '更新成功'); #deleted return deleted($message = '删除成功'); #accepted return accepted($message = '请求已接受,等待处理'); #notFound return notFound($message = '您访问的资源不存在'); #internalError return internalError($message = '未知错误导致请求失败'); #failed return failed($message, $code = Response::HTTP_BAD_REQUEST); #success return success($data); #message return message($message, $code = Response::HTTP_OK); #respond return respond($data = [], $message = '请求成功', array $header = []);
拦截代码
App\Exceptions\Handler
internalError();
// }
// 拦截一般异常并生成响应
if ($exception instanceof GeneralException) {
return failed($exception->getMessage(), $exception->getCode() ?: 500);
}
// 拦截404异常
if ($exception instanceof ModelNotFoundException) {
return $this->notFound();
}
// 拦截授权异常
if ($exception instanceof AuthorizationException) {
return failed('您无权访问', 403);
}
// 参数验证错误的异常,我们需要返回 400 的 http code 和一句错误信息
if ($exception instanceof ValidationException) {
return failed(array_first(array_collapse($exception->errors())), 422);
}
// 用户认证的异常,我们需要返回 401 的 http code 和错误信息
if ($exception instanceof UnauthorizedHttpException) {
return failed('未提供Token', 401);
}
// 捕获404异常
if ($exception instanceof NotFoundHttpException) {
return $this->notFound();
}
return parent::render($request, $exception);
}
/**
* 认证失败后抛出异常
*
* Date: 2018/5/27
* @author George
* @param \Illuminate\Http\Request $request
* @param AuthenticationException $exception
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Response
*/
public function unauthenticated($request, AuthenticationException $exception)
{
return failed('身份认证失败', 401);
}
}