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 裁剪图片成固定大小代码方法
Sep 09 PHP
PHP实现时间轴函数代码
Oct 08 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
PHP动态生成javascript文件的2个例子
Apr 11 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
php支付宝接口用法分析
Jan 04 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
php统计数组元素个数的方法
Jul 02 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
php生成网页桌面快捷方式
May 05 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
python3中int(整型)的使用教程
2017/03/23 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
Python3爬楼梯算法示例
2019/03/04 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
python识别验证码的思路及解决方案
2020/09/13 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
灵泰克Java笔试题
2016/01/09 面试题
造型师求职自荐信
2013/09/27 职场文书
植树节活动总结
2014/04/30 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
初级党校心得体会
2014/09/11 职场文书
简易版租房协议书范本
2014/10/13 职场文书
会计人员岗位职责
2015/02/03 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
让世界充满爱观后感
2015/06/10 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
react antd实现动态增减表单
2021/06/03 Javascript