首页 > 编程 > PHP > 正文

laravel框架 api自定义全局异常处理方法

2019-11-21 19:46:21
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表