laravel下api全局异常处理怎么做
Admin 2022-05-21 群英技术资讯 566 次浏览
api返回实现
$result = User::find($id); if(empty($result)){ throw new ApiException('获取失败'); } else{ return json_decode($result); }
api返回信息
{ "msg": "", "data": "获取失败", "status": 0 }
1,添加异常类
namespace App\Exceptions; class ApiException extends \Exception { function _construct($msg='') { parent::_construct($msg); } }
2,修改laravel异常类u。。。
namespace App\Exceptions; public function render($request, Exception $e) { if ($e instanceof ApiException){ $result = [ "msg" => "", "data"=>$e->getMessage(), "status"=>0 ]; return response()->json($result); } return parent::render($request, $e);
考虑开发配置时
public function render($request, Exception $e) { if(config('app.debug')){ return parent::render($request,$e); } return $this->handle($request,$e); } public function handle($request,Exception $e){ if ($e instanceof ApiException){ $result = [ "msg" => "", "data"=>$e->getMessage(), "status"=>0 ]; return response()->json($result); } return parent::render($request, $e); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP职责链模式怎样实现,代码是什么?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
PHP下Ajax跨域如何解决?很多PHP新手都会遇到Ajax跨域问题,但是不知道要如何解决,对此,这篇文章就给就大家分享三种方法。感兴趣的朋友就继续往下看吧。
在thinkphp中,L方法用于启用多语言的情况下,设置和获取当前的语言定义,设置语言定义的语法为“L('LANG_VAR','语言定义');”,获取语言定义的语法为“$langVar = L('LANG_VAR');”。
今天小编就为大家分享一篇解决tp5在nginx下修改配置访问的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php聚合式迭代器的介绍:1、实现其他迭代器功能的接口,相当于在其他迭代器上安装一个外壳,只有一种方法。2、聚合迭代器可以与许多迭代器结合,实现更高效的迭代。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008