Laravel 框架返回状态拦截代码
可拦截系统的返回的状态自己在单独处理。
使用查询
composerrequirebetterde/response //安装后直接调用以下 #stored returnstored($data,$message='创建成功'); #updated returnupdated($data,$message='更新成功'); #deleted returndeleted($message='删除成功'); #accepted returnaccepted($message='请求已接受,等待处理'); #notFound returnnotFound($message='您访问的资源不存在'); #internalError returninternalError($message='未知错误导致请求失败'); #failed returnfailed($message,$code=Response::HTTP_BAD_REQUEST); #success returnsuccess($data); #message returnmessage($message,$code=Response::HTTP_OK); #respond returnrespond($data=[],$message='请求成功',array$header=[]);
拦截代码
App\Exceptions\Handler
internalError(); // } //拦截一般异常并生成响应 if($exceptioninstanceofGeneralException){ returnfailed($exception->getMessage(),$exception->getCode()?:500); } //拦截404异常 if($exceptioninstanceofModelNotFoundException){ return$this->notFound(); } //拦截授权异常 if($exceptioninstanceofAuthorizationException){ returnfailed('您无权访问',403); } //参数验证错误的异常,我们需要返回400的httpcode和一句错误信息 if($exceptioninstanceofValidationException){ returnfailed(array_first(array_collapse($exception->errors())),422); } //用户认证的异常,我们需要返回401的httpcode和错误信息 if($exceptioninstanceofUnauthorizedHttpException){ returnfailed('未提供Token',401); } //捕获404异常 if($exceptioninstanceofNotFoundHttpException){ return$this->notFound(); } returnparent::render($request,$exception); } /** *认证失败后抛出异常 * *Date:2018/5/27 *@authorGeorge *@param\Illuminate\Http\Request$request *@paramAuthenticationException$exception *@return\Illuminate\Http\JsonResponse|\Illuminate\Http\Response */ publicfunctionunauthenticated($request,AuthenticationException$exception) { returnfailed('身份认证失败',401); } }
以上这篇Laravel框架返回状态拦截代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。