您的位置:首页 > 编程语言 > PHP开发

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自定义全局异常处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息