laravel 错误处理,接口错误返回json代码


Posted in PHP onOctober 25, 2019

Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。 所有异常都由类App\Exceptions\Handler处理,该类包含两个方法:report和render

report方法只是将异常传递给异常被记录的基类,我们这里主要是针对 render 的修改:

先看代码:

public function render($request, Exception $exception)
{
 if($request->is('api/*')){
  $response = [];
  $error = $this->convertExceptionToResponse($exception);
  $response['status'] = $error->getStatusCode();
  $response['msg'] = 'something error';
  if(config('app.debug')) {
   $response['msg'] = empty($exception->getMessage()) ? 'something error' : $exception->getMessage();
   if($error->getStatusCode() >= 500) {
    if(config('app.debug')) {
     $response['trace'] = $exception->getTraceAsString();
     $response['code'] = $exception->getCode();
    }
   }
  }
  $response['data'] = [];
  return response()->json($response, $error->getStatusCode());
 }else{
  return parent::render($request, $exception);
 }
}

$request->is(‘api/*') 用于判断是否是 接口请求

$response 数组你可以依据你的接口返回格式统一一下。

以上这篇laravel 错误处理,接口错误返回json代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
laravel 实现用户登录注销并限制功能
Oct 24 #PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 #PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 #PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 #PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 #PHP
laravel5.1 ajax post 传值_token示例
Oct 24 #PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 #PHP
You might like
php巧获服务器端信息
2006/12/06 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
php简单图像创建入门实例
2015/06/10 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
js实现随机抽奖
2020/03/19 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python下线程之间的共享和释放示例
2015/05/04 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python3字符串操作总结
2019/07/24 Python
Python中logging日志库实例详解
2020/02/19 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
遗嘱继承公证书
2014/04/09 职场文书
财务人员担保书
2014/05/13 职场文书
开展创先争优活动总结
2014/08/28 职场文书
学校党支部承诺书
2015/04/30 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server