700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 自定义异常类(restful api)

自定义异常类(restful api)

时间:2023-07-04 22:31:31

相关推荐

自定义异常类(restful api)

ThinkPHP框架中的异常类不适合作为接口开发的异常显示,通常都需要自定义一个符合项目的异常类。restful api数据结构格式一般是:

status 业务状态码message 提示信息data 数据信息

在项目中新建文件:application\common\lib\exception\ApiHandleException.php,继承Handle类,覆盖掉原来的render方法异常处理类。实例代码:

<?phpnamespace app\common\lib\exception;use think\exception\Handle;class ApiHandleException extends Handle{public $httpCode = 500;public function render(\Exception $e){if(config('app_debug') == true){return parent::render($e);}if($e instanceof ApiException){$this->httpCode = $e->httpCode;}$data=['status' => 0,'message' => $e->getMessage() ,'data' => [],];return json($data, $this->httpCode);}}

在config.php中加入自己定义的异常类的namespace路径

// 异常处理handle类'exception_handle' => '\app\common\lib\exception\ApiHandleException',

在项目中新建文件:application\common\lib\exception\ApiException.php,

<?phpnamespace app\common\lib\exception;use think\Exception;class ApiException extends Exception{public $message = '';public $httpCode = 500;public $code = 0;public function __construct($message = '', $httpCode = 0, $code = 0){$this->message = $message;$this->httpCode = $httpCode;$this->code = $code;}}

输出异常例子

public function test($status){if($status != 1){throw new ApiException('提交不合法', 400);} return $status;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。