当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel 错误处理,接口错误返回json代码

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-18 10:02:43 浏览: 评论:0 

今天小编就为大家分享一篇laravel 错误处理,接口错误返回json代码,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户,所有异常都由类App\Exceptions\Handler处理,该类包含两个方法:report和render

report方法只是将异常传递给异常被记录的基类,我们这里主要是针对 render 的修改:

先看代码:

  1. public function render($request, Exception $exception) 
  2. { 
  3.  if($request->is('api/*')){ 
  4.   $response = []; 
  5.   $error = $this->convertExceptionToResponse($exception); 
  6.   $response['status'] = $error->getStatusCode(); 
  7.   $response['msg'] = 'something error'; 
  8.   if(config('app.debug')) { 
  9.    $response['msg'] = emptyempty($exception->getMessage()) ? 'something error' : $exception->getMessage(); 
  10.    if($error->getStatusCode() >= 500) { 
  11.     if(config('app.debug')) { 
  12.      $response['trace'] = $exception->getTraceAsString(); 
  13.      $response['code'] = $exception->getCode(); 
  14.     } 
  15.    } 
  16.   } 
  17.   $response['data'] = []; 
  18.   return response()->json($response, $error->getStatusCode()); 
  19.  }else{ 
  20.   return parent::render($request, $exception); 
  21.  } 
  22. } 

$request->is(‘api/*') 用于判断是否是 接口请求

$response 数组你可以依据你的接口返回格式统一一下。

Tags: laravel错误处理 laravel接口错误

分享到: