PHP使Laravel为JSON REST API返回自定义错误的问题
发布:smiling 来源: PHP粉丝网 添加日期:2021-10-31 20:10:08 浏览: 评论:0
这篇文章主要介绍了PHP使Laravel为JSON REST API返回自定义错误的问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下。
我正在开发某种RESTful API.发生一些错误时,我会抛出一个App :: abort($code,$message)错误.
问题是:我希望他用键“代码”和“消息”抛出一个json形成的数组,每个数组都包含上述数据.
- Array
- (
- [code] => 401
- [message] => "Invalid User"
- )
有没有人知道是否可能,如果是,我该怎么做?
去你的app / start / global.php.
这将将401和404的所有错误转换为自定义json错误,而不是Whoops stacktrace.加这个:
- App::error(function(Exception $exception, $code)
- {
- Log::error($exception);
- $message = $exception->getMessage();
- // switch statements provided in case you need to add
- // additional logic for specific error code.
- switch ($code) {
- case 401:
- return Response::json(array(
- 'code' => 401,
- 'message' => $message
- ), 401);
- case 404:
- $message = (!$message ? $message = 'the requested resource was not found' : $message);
- return Response::json(array(
- 'code' => 404,
- 'message' => $message
- ), 404);
- }
- });
这是处理此错误的众多选项之一.
制作API最好创建自己的帮助器,如Responser :: error(400,'damn'),扩展了Response类.
有点像:
- public static function error($code = 400, $message = null)
- {
- // check if $message is object and transforms it into an array
- if (is_object($message)) { $message = $message->toArray(); }
- switch ($code) {
- default:
- $code_message = 'error_occured';
- break;
- }
- $data = array(
- 'code' => $code,
- 'message' => $code_message,
- 'data' => $message
- );
- // return an error
- return Response::json($data, $code);
- }
Tags: Laravel JSON REST API
相关文章
- ·Laravel4创建一个占位图片服务例子(2014-06-18)
- ·深入解析Laravel5.5中的包自动发现Package Auto Discovery(2018-09-13)
- ·Laravel学习教程之request validation的编写(2018-09-13)
- ·Laravel框架实现利用中间件进行操作日志记录功能(2018-09-14)
- ·Laravel 集成的 Monolog 库对日志进行配置和记录实例(2018-09-14)
- ·Laravel Elixir运行glup命令:Error in plugin ‘gulp-notify’(2018-09-15)
- ·Laravel 5 中防止 XSS 跨站攻击的例子(2018-10-17)
- ·Laravel中为什么不使用blpop取队列详析(2018-10-19)
- ·php7跑laravel5.0报错,异常Carbon::createFromFormat()(2018-10-23)
- ·Laravel Memcached缓存驱动的配置应用实例(2018-10-30)
- ·Laravel memcached缓存对文章增删改查进行优化例子(2018-10-30)
- ·Laravel 中通过 Artisan View 扩展包创建及删除应用视图文件(2018-10-30)
- ·laravel项目利用twemproxy部署redis集群的完整步骤(2018-11-07)
- ·Laravel框架实现利用监听器进行sql语句记录功能(2018-11-07)
- ·Laravel框架模板继承操作示例(2018-11-14)
- ·Laravel框架实现定时发布任务的方法(2018-11-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)