PHP使Laravel为JSON REST API返回自定义错误的问题


Posted in PHP onOctober 16, 2018

我正在开发某种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);
}

总结

以上所述是小编给大家介绍的PHP使Laravel为JSON REST API返回自定义错误的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
2.PHP入门
Oct 09 PHP
如何分别全角和半角以避免乱码
Oct 09 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
php 字符串函数收集
Mar 29 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
php ajax 静态分页过程形式
Sep 02 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php输出文字乱码的解决方法
Oct 04 PHP
实现PHP中session存储及删除变量
Oct 15 #PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 #PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 #PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 #PHP
php实现二叉树中和为某一值的路径方法
Oct 14 #PHP
php中青蛙跳台阶的问题解决方法
Oct 14 #PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 #PHP
You might like
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
php中socket的用法详解
2014/10/24 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
django 微信网页授权登陆的实现
2019/07/30 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
离婚财产处理协议书
2014/09/30 职场文书
2015新学期开学寄语
2015/02/26 职场文书
老人与海读书笔记
2015/06/26 职场文书
运动会通讯稿200字
2015/07/20 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL