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 读取文件的正确方法
Apr 29 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
如何在HTML 中嵌入 PHP 代码
May 13 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 PHP
Laravel框架源码解析之反射的使用详解
May 14 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 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中的错误处理、异常处理机制分析
2012/05/07 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
PHP图片加水印实现方法
2016/05/06 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
仓库班组长岗位职责
2013/12/12 职场文书
高中生活自我鉴定
2014/01/18 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
售后服务承诺函格式
2015/01/21 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python