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通用检测函数集合
Nov 25 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
php实现四舍五入的方法小结
Mar 03 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 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
基于header的一些常用指令详解
2013/06/06 PHP
php教程之phpize使用方法
2014/02/12 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python中map、any、all函数用法分析
2015/04/21 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
文员个人求职自荐信
2013/09/21 职场文书
社区科普工作方案
2014/06/03 职场文书
应届生面试求职信
2014/07/02 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
护理实习生带教计划
2015/01/16 职场文书
2016公司年会通知范文
2015/04/25 职场文书
医院保洁员管理制度
2015/08/05 职场文书
文明礼仪主题班会
2015/08/13 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android