Laravel接管Dingo-api的错误如何解决
Admin 2022-06-24 群英技术资讯 795 次浏览
这篇文章主要介绍了Laravel接管Dingo-api的错误如何解决相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇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];
}
return response()->json(['message'=>$msg,'status_code'=>400], 200);
});
\API::error(function (\Dingo\Api\Exception\ValidationHttpException $exception){
$errors = $exception->getErrors();
return response()->json(['message'=>$errors->first(),'status_code'=>400], 200);
});
接管laravel的错误

在Exceptions的Handler.php的render中写入以下代码
public function render($request, Exception $exception)
{
if($exception instanceof \Illuminate\Validation\ValidationException){
$data = $exception->validator->getMessageBag();
$msg = collect($data)->first();
if(is_array($msg)){
$msg = $msg[0];
}
return response()->json(['message'=>$msg],200);
}
if (in_array('api',$exception->guards())){
if($exception instanceof AuthenticationException){
return response()->json(['message'=>'token错误'],200);
}
if($exception instanceof ModelNotFoundException){
return response()->json(['message'=>'该模型未找到'],200);
}
}
return parent::render($request, $exception);
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。
本篇文章带大家深入解析PHP中的 "? :" 运算符(三元表达式),看看它的作用,要如何使用,效果如何?希望对大家有所帮助!
这篇文章主要介绍了如何在Laravel5.8中正确地应用Repository设计模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
YII2框架如何控制台命令?YII2框架是一个高性能、高效率的PHP框架,这篇文章给大家分享的是关于YII2框架使用控制台命令的方法,感兴趣的朋友可以了解一下,下面我们一起看看。
本篇文章小编给大家分享一下Shell之function函数的定义及调用代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008