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 相关文章推荐
利用 window_onload 实现select默认选择
Oct 09 PHP
set_include_path在win和linux下的区别
Jan 10 PHP
php实现jQuery扩展函数
Oct 30 PHP
php 日期时间处理函数小结
Dec 18 PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php导出CSV抽象类实例
Sep 24 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
浅析php原型模式
Nov 25 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
jquery中get和post的简单实例
2014/02/04 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
如何基于python操作json文件获取内容
2019/12/24 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
详解Python IO编程
2020/07/24 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
广告学专业毕业生自荐信
2013/09/24 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
宇宙与人观后感
2015/06/05 职场文书