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 相关文章推荐
我的论坛源代码(二)
Oct 09 PHP
phpmyadmin的#1251问题
Nov 25 PHP
hadoop常见错误以及处理方法详解
Jun 19 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
PHP写的简单数字验证码实例
May 23 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
php中的explode()函数实例介绍
Jan 18 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Python切片工具pillow用法示例
2018/03/30 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
经典的毕业生自荐信范文
2014/04/14 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
网络技术专业求职信
2014/05/02 职场文书
女生节标语
2014/06/26 职场文书
先进党支部事迹材料
2014/12/24 职场文书
三好学生事迹材料
2014/12/24 职场文书
学前班学生评语
2014/12/29 职场文书
小学语文教学反思范文
2016/03/03 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
php引用传递
2021/04/01 PHP
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技