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 八种基本的数据类型小结
Jun 01 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
php中获得视频时间总长度的另一种方法
Sep 15 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 16 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
Laravel框架集合用法实例浅析
May 14 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 explode函数实例代码
2012/02/27 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
详解React 元素渲染
2020/07/07 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
python多重继承实例
2014/10/11 Python
python简单实现基数排序算法
2015/05/16 Python
python 内置函数filter
2017/06/01 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python使用matplotlib画饼状图
2018/09/25 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
三关爱志愿服务活动方案
2014/08/17 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
担保书范本
2015/01/20 职场文书
义诊活动通知
2015/04/24 职场文书
银行培训心得体会范文
2016/01/09 职场文书
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技