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 MYSQL 数据备份类
Jun 19 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
php封装一个异常的处理类
Jun 08 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
跟老齐学Python之类的细节
2014/10/13 Python
python实现将文本转换成语音的方法
2015/05/28 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
主题酒店策划书
2014/01/28 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
农村老人去世追悼词
2015/06/23 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA