介绍
如何使用Laravel框架返回状态拦截?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强>使用查询强>
composer require betterde/响应//,安装后直接调用以下 #,存储 return 存储(数据,美元,美元message =, & # 39;创建成功& # 39;); , #更新 return 更新(数据,美元,美元message =, & # 39;更新成功& # 39;); , #删除 return 删除($ message =, & # 39;删除成功& # 39;); , #接受 return 接受($ message =, & # 39;请求已接受,等待处理& # 39;); , # notFound return notFound ($ message =, & # 39;您访问的资源不存在& # 39;); , # internalError return internalError ($ message =, & # 39;未知错误导致请求失败& # 39;); , #失败 return 失败(消息,美元,美元code =,回应::HTTP_BAD_REQUEST); , #成功 return 成功(元数据); , #消息 return 消息(消息,美元,美元code =,回应::并; , #回复 return 回应($ data =[]的不同之处是,message 美元;=,& # 39;请求成功& # 39;,,array header 美元;=,[]);
<强>拦截代码强>
应用\ \异常处理程序
& lt; ? php , namespace 应用\异常; , use 异常; use 阐明\ \外墙\日志的支持; use 照亮\ \ QueryException数据库; use 应用程序\特征\ \ InterfaceResponse回应; use 照亮\ Auth \ AuthenticationException; use 照亮\验证\ ValidationException异常; use 阐明\ Auth \ \ AuthorizationException访问; use 阐明数据库\ \雄辩\ ModelNotFoundException; use Symfony \组件\ HttpKernel \ \ textbox异常; use 照亮\基础\ \ Handler 异常;as ExceptionHandler; use Symfony \组件\ HttpKernel \ \ NotFoundHttpException异常; use Symfony \组件\ HttpKernel \ \ UnauthorizedHttpException异常; ,/* * ,*异常处理 ,* ,*日期:21/03/2018 ,* @author 乔治 ,* @package 应用\例外 ,*/class Handler  extends ExceptionHandler { use InterfaceResponse; ,/* * *,才能定义不需要记录的异常类 ,* *,才能@var 数组 ,*/,protected dontReport 美元;=,( textbox::类, ValidationException异常::类, ModelNotFoundException::类, AuthorizationException::类, AuthenticationException::类, ]; ,/* * *,才能A list of 从而inputs that 断开连接;never flashed for validation 例外。 ,* *,才能@var 数组 ,*/,protected dontFlash 美元;=,( & # 39;才能密码# 39; & # 39;才能password_confirmation& # 39; ,); ,/* * ,*定义需要记录的异常 ,* ,*日期:21/03/2018 ,* @author 乔治 美元,* @param Exception 例外 ,* @return 混合|空白 ,* @throws 例外 ,*/,public function 报告(Exception 美元除外) ,{ 父:才能报告($除外); ,} ,/* * ,*拦截异常并生成对应的响应内容 ,* ,*日期:21/03/2018 ,* @author 乔治 ,* @param \照亮\ Http \ Request 美元请求 美元,* @param Exception 例外 ,* @return 合同\照亮\ \路由\ ResponseFactory | \ HttpFoundation \ \ Symfony \组件响应 ,*/,public function 渲染($请求,,Exception 美元除外) ,{ ,//,拦截数据库操作异常//,if (exception 美元;instanceof QueryException), {//,日志:错误(异常);//,return 这→美元internalError ();//} ,//,拦截一般异常并生成响应 if (exception 美元;instanceof GeneralException), { return 失败(异常→美元getMessage(),异常→美元getCode (), ?:, 500); } ,//,拦截404年异常 if (exception 美元;instanceof ModelNotFoundException), { return 这→美元notFound (); } ,//,拦截授权异常 if (exception 美元;instanceof AuthorizationException), { return 失败(& # 39;您无权访问& # 39;,,403); } ,//,参数验证错误的异常,我们需要返回,400,的,http code 和一句错误信息 if (exception 美元;instanceof  ValidationException异常),{ return 失败(array_first (array_collapse($异常→错误())),,422); } ,//,用户认证的异常,我们需要返回,401,的,http code 和错误信息 if (exception 美元;instanceof UnauthorizedHttpException), { return 失败(& # 39;未提供牌# 39;,,401); } ,//,捕获404年异常 if (exception 美元;instanceof NotFoundHttpException), { ,return 这→美元notFound (); } , return 才能;父:渲染(请求,美元,美元除外); ,} ,/* * ,*认证失败后抛出异常 ,* ,*日期:2018/5/27 ,* @author 乔治 ,* @param \照亮\ Http \ Request 美元请求 null null null null null null null null如何使用Laravel框架返回状态拦截