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中目录,文件操作详谈
Mar 19 PHP
php中Smarty模板初体验
Aug 08 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
基于php验证码函数的使用示例
May 03 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
php的ajax简单实例
Feb 27 PHP
最常用的8款PHP调试工具
Jul 06 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
php 人员权限管理(RBAC)实例(推荐)
May 24 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代码
2013/12/03 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python网络编程之读取网站根目录实例
2014/09/30 Python
python机器学习库常用汇总
2017/11/15 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
护理专业毕业生自我鉴定
2013/10/08 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
消防安全承诺书
2014/05/22 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
党员民主评议个人总结
2014/10/20 职场文书
一般纳税人申请报告
2015/05/18 职场文书
爱的教育读书笔记
2015/06/26 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang