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.MVC的模板标签系统(二)
Sep 05 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
PHP技术开发技巧分享
Mar 23 PHP
php设计模式 Command(命令模式)
Jun 26 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
详细解读php的命名空间(二)
Feb 21 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
python计算文本文件行数的方法
2015/07/06 Python
python中对_init_的理解及实例解析
2019/10/11 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
思想品德自我鉴定
2013/10/12 职场文书
商务会议邀请函
2014/01/09 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
详解python网络进程
2021/06/15 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
MySQL 语句执行顺序举例解析
2022/06/05 MySQL