资讯专栏INFORMATION COLUMN

laravel中Dingo api如何Custom ExceptionHandler

Ku_Andrew / 2212人阅读

摘要:背景在近期使用处理接口时,发现本身中无法捕获异常。后来查阅资料发现,接管了请求的异常处理。导致无法自定义错误返回,很是头疼。最后在的找到了处理方法。

背景

在近期使用Dingo api处理接口时,发现laravel本身appExceptionsHandler中无法捕获异常。

后来查阅资料发现,Dingo api接管了api请求的异常处理。导致无法自定义错误返回,很是头疼。

最后在dingo的issues找到了处理方法。

方法

创建一个自定义异常处理

  继承自DingoApiExceptionHandler,重写handle方法
  app/Exceptions/ApiHandler.php
json(["message" => "Unauthorized", "status_code" => 401], 401);
        }
        return parent::handle($exception);
    }
}

创建一个服务容器

 app/Providers/DingoServiceProvider.php
app->singleton("api.exception", function ($app) {
            return new ExceptionHandler($app["IlluminateContractsDebugExceptionHandler"], $this->config("errorFormat"), $this->config("debug"));
        });
    }
}

将服务容器添加到config/app.php中

...
"providers" => [
...
    AppProvidersDingoServiceProvider::class,
...
];

结语

参考issues链接:https://github.com/dingo/api/...
@shanginn 提供的方法会存在接口返回500,且没有任何数据返回。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30926.html

相关文章

  • laravel 5.4 + dingo api + jwt 代替Passport

    摘要:前言由于在度娘找了半天根本一大堆版本,弄得我死去活来的,每个都试了一堆问题,到底你们做完有没有总结过一次然后有几个使用,完全不行啊,太监版不是我想要的。后来,终于找到例子并实测成功。 前言 由于在度娘找了半天根本一大堆Copy版本,弄得我死去活来的,每个都试了一堆问题,到底你们做完有没有总结过一次?然后有几个使用lunmen+dingo api+jwt,完全不行啊,太监版不是我想要的。...

    _Zhao 评论0 收藏0
  • laravel5.5+dingo+JWT开发后台API

    摘要:我的博客中文文档中使用辅助文章参考这篇文章基本就能搭建出环境,我使用的版本跟他一样,不知道别的版本有啥大的区别,但是网上找的其他一些文章使用的是旧的版本,封装的东西路径可能不一样,可能会保错,有些文档还说要手动添加和,其实新版本不需要。 我的github博客:https://zgxxx.github.io/ dingo api 中文文档: https://www.bookstack....

    printempw 评论0 收藏0
  • Laravel Api 开发系列 - Dingo API 的使用

    摘要:源码使用本文使用的数据库与基础篇相同,故不再重复说明。使用的用法与之前的自定义用法类似,甚至更加简单。首先定义路由如果要查看路由,需要使用创建控制器需要使用这个。 源码 使用 Dingo Api 本文使用的数据库与基础篇相同,故不再重复说明。 初始化 安装 $ composer require dingo/api:1.0.x@dev 注册 /config/app.php provide...

    jlanglang 评论0 收藏0
  • Laravel+Dingo/Api 自定义响应

    摘要:在最近的开发开发项目中,我使用了这个第三方库。是个很强大的库,但在开发的过程中,需要自定义响应字段。刚开始使用时,返回如下手机号格式不正确这是输入字段验证错误时,返回的结果。尤其是,需要对每一个对象进行新建,然后序列化。 在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/A...

    xcold 评论0 收藏0
  • 20151103addinfo-laravel小练习-小结

    摘要:学习了一段时间的小结一下最近做的小任务写下来才知道好乱糟糟,还是以记录学习的资料为主,写的很糟糕,还需要再揣度多屡屡思路。 学习了一段时间的laravel,小结一下最近做的laravel小任务,写下来才知道好乱糟糟,还是以记录学习的资料为主,写的很糟糕,还需要再揣度多屡屡思路。20151103-16 源码地址:https://github.com/dingyiming/xc-add...

    jackzou 评论0 收藏0

发表评论

0条评论

Ku_Andrew

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<