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+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
PHP静态调用非静态方法的应用分析
May 02 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 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
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
深入理解Python中变量赋值的问题
2017/01/12 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
Python地图绘制实操详解
2019/03/04 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
中科方德软件测试面试题
2016/04/21 面试题
青春寄语大全
2014/04/09 职场文书
同居协议书范本
2014/04/23 职场文书
2014年基建工作总结
2014/12/12 职场文书
思想品德评语大全
2014/12/31 职场文书
工程移交协议书
2016/03/24 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS