laravel接管Dingo-api和默认的错误处理方式


Posted in PHP onOctober 25, 2019

接管Dingo-api的错误

laravel接管Dingo-api和默认的错误处理方式

如上图所示,AppServiceProvider.php中的register()方法中添加如下代码

\API::error(function (\Illuminate\Validation\ValidationException $exception){
  $data =$exception->validator->getMessageBag();
   $msg = collect($data)->first();
   if(is_array($msg)){
     $msg = $msg[0];
   }
   return response()->json(['message'=>$msg,'status_code'=>400], 200);
 });
 \API::error(function (\Dingo\Api\Exception\ValidationHttpException $exception){
   $errors = $exception->getErrors();
   return response()->json(['message'=>$errors->first(),'status_code'=>400], 200);
 });

接管laravel的错误

laravel接管Dingo-api和默认的错误处理方式

在Exceptions的Handler.php的render中写入以下代码

public function render($request, Exception $exception)
  {
    if($exception instanceof \Illuminate\Validation\ValidationException){
      $data = $exception->validator->getMessageBag();
      $msg = collect($data)->first();
      if(is_array($msg)){
        $msg = $msg[0];
      }
      return response()->json(['message'=>$msg],200);
    }

    if (in_array('api',$exception->guards())){
      if($exception instanceof AuthenticationException){
        return response()->json(['message'=>'token错误'],200);
      }
      if($exception instanceof ModelNotFoundException){
        return response()->json(['message'=>'该模型未找到'],200);
      }

    }

    return parent::render($request, $exception);
  }

以上这篇laravel接管Dingo-api和默认的错误处理方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
轻松修复Discuz!数据库
May 03 PHP
Php注入点构造代码
Jun 14 PHP
php的正则处理函数总结分析
Jun 20 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
php简单图像创建入门实例
Jun 10 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 #PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 #PHP
Laravel validate error处理,ajax,json示例
Oct 25 #PHP
laravel 错误处理,接口错误返回json代码
Oct 25 #PHP
laravel 实现用户登录注销并限制功能
Oct 24 #PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 #PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 #PHP
You might like
PHP学习 运算符与运算符优先级
2008/06/15 PHP
PHP生成HTML静态页面实例代码
2008/08/31 PHP
精通php的十大要点(上)
2009/02/04 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
微信小程序中setInterval的使用方法
2017/09/29 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
如何在Python中编写并发程序
2016/02/27 Python
python用post访问restful服务接口的方法
2018/12/07 Python
python队列原理及实现方法示例
2019/11/27 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
执行Python程序时模块报错问题
2020/03/26 Python
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
毕业生求职信的经典写法
2014/01/31 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
个人德育工作总结
2015/03/05 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
民主生活会主持词
2015/07/01 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
python 批量压缩图片的脚本
2021/06/02 Python
详解Flask开发技巧之异常处理
2021/06/15 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS