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 读取大文件的X行到Y行内容的实现代码
Jun 24 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
PHP PDOStatement::getAttribute讲解
Feb 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
JS重要知识点小结
2011/11/06 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
12条写出高质量JS代码的方法
2018/01/07 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python如何查看微信消息撤回
2018/11/27 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
邮政员工辞职信
2014/01/16 职场文书
迟到检讨书500字
2014/02/05 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
中学生励志演讲稿
2014/04/26 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
心灵点滴观后感
2015/06/02 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
pytorch--之halfTensor的使用详解
2021/05/24 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers