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


Posted in PHP onOctober 25, 2019

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

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

先看代码:

public function render($request, Exception $exception)
{
 if($request->is('api/*')){
  $response = [];
  $error = $this->convertExceptionToResponse($exception);
  $response['status'] = $error->getStatusCode();
  $response['msg'] = 'something error';
  if(config('app.debug')) {
   $response['msg'] = empty($exception->getMessage()) ? 'something error' : $exception->getMessage();
   if($error->getStatusCode() >= 500) {
    if(config('app.debug')) {
     $response['trace'] = $exception->getTraceAsString();
     $response['code'] = $exception->getCode();
    }
   }
  }
  $response['data'] = [];
  return response()->json($response, $error->getStatusCode());
 }else{
  return parent::render($request, $exception);
 }
}

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

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

以上这篇laravel 错误处理,接口错误返回json代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
php继承的一个应用
Sep 06 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
php常用表单验证类用法实例
Jun 18 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
PHP基本语法实例总结
Sep 09 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
YII框架模块化处理操作示例
Apr 26 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
laravel 实现用户登录注销并限制功能
Oct 24 #PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 #PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 #PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 #PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 #PHP
laravel5.1 ajax post 传值_token示例
Oct 24 #PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 #PHP
You might like
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
php header()函数使用说明
2008/07/10 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
javascript new后的constructor属性
2010/08/05 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
sqlalchemy对象转dict的示例
2014/04/22 Python
python 编码规范整理
2018/05/05 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
python样条插值的实现代码
2018/12/17 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
《阳光》教学反思
2014/02/23 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
岗位安全生产责任书
2014/07/28 职场文书
golang json数组拼接的实例
2021/04/28 Golang