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生成WAP页面
Oct 09 PHP
PHP 递归效率分析
Nov 24 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
php 获取文件行数的方法总结
Oct 11 PHP
PHP中cookie知识点学习
May 06 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
详解Laravel制作API接口
May 31 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
关于js和php对url编码的处理方法
2014/03/04 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
javascript 闭包疑问
2010/12/30 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python实现任意位置文件分割的实例
2018/12/14 Python
如何在Django项目中引入静态文件
2019/07/26 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
上课迟到检讨书100字
2014/01/11 职场文书
人事专员职责
2014/02/22 职场文书
建筑工地大门标语
2014/06/18 职场文书
代领毕业证委托书
2014/08/02 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
清洁工个人工作总结
2015/03/05 职场文书
个人廉洁自律总结
2015/03/06 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
Golang实现AES对称加密的过程详解
2021/05/20 Golang
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技