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 相关文章推荐
php批量删除数据
Jan 18 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
解析yii数据库的增删查改
Jun 20 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
小谈php正则提取图片地址
Mar 27 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 PHP
php快速导入大量数据的实例方法
Sep 23 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
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
浅析python实现动态规划背包问题
2020/12/31 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
小学新学期寄语
2014/04/02 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
党的生日活动方案
2014/08/15 职场文书
单位活动策划方案
2014/08/17 职场文书
超市食品安全承诺书
2015/04/29 职场文书