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

 更新时间:2019年10月11日 16:45:47   作者:Miss_shy  
今天小编就为大家分享一篇laravel框架 api自定义全局异常处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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自定义全局异常处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • smarty模板引擎中变量及变量修饰器用法实例

    smarty模板引擎中变量及变量修饰器用法实例

    这篇文章主要介绍了smarty模板引擎中变量及变量修饰器用法,实例分析了smarty模板引擎中常见变量、变量修饰器及常量的具体用法,需要的朋友可以参考下
    2015-01-01
  • PHP 实现浏览记录并按日期分组

    PHP 实现浏览记录并按日期分组

    这篇文章主要介绍了PHP 实现浏览记录并按日期分组的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Yii2中Restful API原理实例分析

    Yii2中Restful API原理实例分析

    这篇文章主要介绍了Yii2中Restful API原理,基于rest部分源码分析了Restful的原理、使用方法与相关注意事项,需要的朋友可以参考下
    2016-07-07
  • Yii 框架控制器创建使用及控制器响应操作示例

    Yii 框架控制器创建使用及控制器响应操作示例

    这篇文章主要介绍了Yii 框架控制器创建使用及控制器响应操作,结合实例形式分析了Yii框架控制器调用、参数传递与响应相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • Zend Framework入门教程之Zend_Session会话操作详解

    Zend Framework入门教程之Zend_Session会话操作详解

    这篇文章主要介绍了Zend Framework入门教程之Zend_Session会话操作,结合实例形式详细分析了Zend_Session会话操作的具体使用技巧,需要的朋友可以参考下
    2016-12-12
  • PhpStorm配置Xdebug调试的方法步骤

    PhpStorm配置Xdebug调试的方法步骤

    这篇文章主要介绍了PhpStorm配置Xdebug调试的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • PHP读取大文件的类SplFileObject使用介绍

    PHP读取大文件的类SplFileObject使用介绍

    一般读取文件我们用fopen 或者 file_get_contents ,前者可以循环读取,后者可以一次性读取,但都是将文件内容一次性加载来操作。
    2014-04-04
  • 图文详解PHP中GC回收机制的利用

    图文详解PHP中GC回收机制的利用

    GC如其名就是垃圾收集,当然这里仅就内存而言,下面这篇文章主要给大家介绍了关于PHP中GC回收机制利用的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • YII Framework框架教程之安全方案详解

    YII Framework框架教程之安全方案详解

    这篇文章主要介绍了YII Framework框架教程之安全方案,结合实例形式详细分析了针对跨站脚本攻击,跨站请求伪造攻击及Cookie攻击的防范技巧,需要的朋友可以参考下
    2016-03-03
  • php reset() 函数指针指向数组中的第一个元素并输出实例代码

    php reset() 函数指针指向数组中的第一个元素并输出实例代码

    在php中,当我们使用next函数或end函数将数组内部针指指向数组最后一个元素的时候,如果再需要将内部指针指向第一个元素,可以使用reset() 函数来实现,本文章向大家讲解reset() 函数的基本语法及使用实例,需要的朋友可以参考下
    2016-11-11

最新评论