扣丁学堂PHP培训分享PHP使Laravel为JSON REST API返回自定义错误的问题

2019-05-15 11:03:17 3282浏览

有没有小伙伴开发某种RESTful API.发生一些错误呢?本篇文章扣丁学堂PHP培训小编给读者们分享一下PHP使Laravel为JSON REST API返回自定义错误的问题,对此感兴趣的小伙伴就随小编来了解一下吧,希望对小伙伴们有所帮助。


扣丁学堂PHP培训分享PHP使Laravel为JSON REST API返回自定义错误的问题


问题是:我希望他用键“代码”和“消息”抛出一个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开发方面内容的小伙伴,请关注扣丁学堂PHP培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的PHP讲师为您指导,此外扣丁学堂老师精心推出的PHP视频教程定能让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】



查看更多关于“php培训资讯”的相关文章>>


标签: PHP培训 PHP基础教程 PHP学习视频 PHP教学视频 PHP入门教程 PHP教程视频 PHP在线学习 PHP在线视频 PHP在线教程 扣丁学堂PHP培训

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号