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 syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
php 读取文件乱码问题
Feb 20 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 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实现活动人选抽奖功能
2017/04/19 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
php swoft框架实例用法
2020/12/22 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
js 字符串操作函数
2009/07/25 Javascript
javascript offsetX与layerX区别
2010/03/12 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
寄语十八大感言
2014/02/07 职场文书
秋游活动策划方案
2014/02/16 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
先进工作者推荐材料
2014/12/23 职场文书
音乐教师求职信范文
2015/03/20 职场文书
2016新春团拜会致辞
2015/08/01 职场文书