laravel接管Dingo-api和默认的错误处理方式
接管Dingo-api的错误
如上图所示,AppServiceProvider.php中的register()方法中添加如下代码
\API::error(function(\Illuminate\Validation\ValidationException$exception){
$data=$exception->validator->getMessageBag();
$msg=collect($data)->first();
if(is_array($msg)){
$msg=$msg[0];
}
returnresponse()->json(['message'=>$msg,'status_code'=>400],200);
});
\API::error(function(\Dingo\Api\Exception\ValidationHttpException$exception){
$errors=$exception->getErrors();
returnresponse()->json(['message'=>$errors->first(),'status_code'=>400],200);
});
接管laravel的错误
在Exceptions的Handler.php的render中写入以下代码
publicfunctionrender($request,Exception$exception)
{
if($exceptioninstanceof\Illuminate\Validation\ValidationException){
$data=$exception->validator->getMessageBag();
$msg=collect($data)->first();
if(is_array($msg)){
$msg=$msg[0];
}
returnresponse()->json(['message'=>$msg],200);
}
if(in_array('api',$exception->guards())){
if($exceptioninstanceofAuthenticationException){
returnresponse()->json(['message'=>'token错误'],200);
}
if($exceptioninstanceofModelNotFoundException){
returnresponse()->json(['message'=>'该模型未找到'],200);
}
}
returnparent::render($request,$exception);
}
以上这篇laravel接管Dingo-api和默认的错误处理方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短