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入门速成(2)
Oct 09 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
PHP文件缓存类示例分享
Jan 30 PHP
php post大量数据时发现数据丢失问题解决方法
Jun 20 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
Dec 09 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 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实现的在线人员函数库
2008/04/09 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
JavaScript类库D
2010/10/24 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python实现学员管理系统
2019/02/26 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
护理专科自荐书范文
2014/02/18 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
60句有关成长的名言
2019/09/04 职场文书
python munch库的使用解析
2021/05/25 Python