laravel框架 api自定义全局异常处理方法
2019-10-11 18:06
2611 查看
api返回实现
$result = User::find($id); if(empty($result)){ throw new ApiException('获取失败'); } else{ return json_decode($result); }
api返回信息
{ "msg": "", "data": "获取失败", "status": 0 }
1,添加异常类
namespace App\Exceptions; class ApiException extends \Exception { function _construct($msg='') { parent::_construct($msg); } }
2,修改laravel异常类u。。。
namespace App\Exceptions; public function render($request, Exception $e) { if ($e instanceof ApiException){ $result = [ "msg" => "", "data"=>$e->getMessage(), "status"=>0 ]; return response()->json($result); } return parent::render($request, $e);
考虑开发配置时
public function render($request, Exception $e) { if(config('app.debug')){ return parent::render($request,$e); } return $this->handle($request,$e); } public function handle($request,Exception $e){ if ($e instanceof ApiException){ $result = [ "msg" => "", "data"=>$e->getMessage(), "status"=>0 ]; return response()->json($result); } return parent::render($request, $e); }
以上这篇laravel框架 api自定义全局异常处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- PHP教程系列3-写PHP程序前必须知道的5点信息
- 基于 Laravel 5.7 开发博客应用系列(一) —— 创建项目和测试配置
- 能自动通知、同步微博的失物招领系统开源啦!
- es-for-Laravel: Composer 包安装, Laravel 最简单的方式操作 Elasticsearch
- Android Manifest 用法
- 什么是 GraphQL?
- laravel 外键约束
- Spark RDD API详解(一) Map和Reduce
- Laravel 框架在数据库读写分离后强制使用主库获取数据
- Laravel UNION联合查询并分页
- laravel+SqlServer
- php laravel 多条件筛选
- laravel+PhpSpreadsheet导出excel并下载
- Laravel 数据库加密及数据库表前缀配置方法
- Laravel获取所有的数据库表及结构的方法
- laravel请求参数校验方法
- laravel 关联关系遍历数组的例子
- laravel withCount 统计关联数量的方法