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 相关文章推荐
建立文件交换功能的脚本(三)
Oct 09 PHP
source.php查看源文件
Dec 09 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
PHP编写简单的App接口
Aug 28 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
自制PHP框架之路由与控制器
May 07 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 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/03/15 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
许愿墙中用到的函数
2006/10/07 Javascript
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
详解如何使用Python编写vim插件
2017/11/28 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
python加载自定义词典实例
2019/12/06 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
建材业务员岗位职责
2013/12/08 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
新年晚会主持词
2014/03/24 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
婚礼父母致辞
2015/07/28 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
初中地理教学反思
2016/02/19 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android