如何使用Laravel框架返回状态拦截

  介绍

如何使用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框架返回状态拦截