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的FTP学习(四)
Oct 09 PHP
php基础知识:控制结构
Dec 13 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
php动态生成JavaScript代码
Mar 09 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
Destoon模板制作简明教程
Jun 20 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
PHP中header用法小结
May 23 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 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
Protoss热键控制
2020/03/14 星际争霸
php操作JSON格式数据的实现代码
2011/12/24 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
js操作二级联动实现代码
2010/07/27 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
js实现选项卡效果
2020/03/07 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
Python中的super用法详解
2015/05/28 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
Python编写万花尺图案实例
2021/01/03 Python
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
软件测试面试题
2014/01/05 面试题
大专生自荐信
2013/10/04 职场文书
消防标语大全
2014/06/07 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript