laravel框架 api自定义全局异常处理方法


Posted in PHP onOctober 11, 2019

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);
}

以上这篇laravel框架 api自定义全局异常处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
PHP 时间日期操作实战
Aug 26 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
PHP基础知识介绍
Sep 17 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
浅谈php的优缺点
Jul 14 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
详解thinkphp中的volist标签
Jan 15 PHP
PHP7匿名类的用法示例
Apr 05 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 #PHP
laravel 获取当前url的别名方法
Oct 11 #PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 #PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 #PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 #PHP
零基础php编程好学吗
Oct 11 #PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 #PHP
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
面向对象的javascript(笔记)
2009/10/06 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
Python中的整除和取模实例
2020/06/03 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
人代会标语
2014/06/30 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
婚礼父母答谢词
2015/01/04 职场文书
《迟到》教学反思
2016/02/24 职场文书