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 相关文章推荐
支持oicq头像的留言簿(二)
Oct 09 PHP
第十三节--对象串行化
Nov 16 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
PHP中实现crontab代码分享
Mar 26 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
yii2简单使用less代替css示例
Mar 10 PHP
原生php实现excel文件读写的方法分析
Apr 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
python实现校园网自动登录的示例讲解
2018/04/22 Python
python中的decorator的作用详解
2018/07/26 Python
python设置环境变量的作用整理
2020/02/17 Python
详解Python 循环嵌套
2020/07/09 Python
美国眼镜网:GlassesUSA
2017/09/07 全球购物
奥巴马上海演讲稿
2014/09/10 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
欢送会主持词
2015/07/01 职场文书
python缺失值的解决方法总结
2021/06/09 Python
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers