【thinkphp5】使用tp5开发api接口 定义全局异常处理
1 新建文件夹以及文件
路径: /application/lib/exception/ExceptionHandler.php
并键入以下代码
<?php
namespace app\lib\exception; use think\Exception;
use think\config;
use think\exception\Handle;
/**
* 自定义异常类
*/
class ExceptionHandler extends Handle {
/**
* http状态码
* @var unknown
*/
public $httpCode = ; public function render(\Exception $e){
$debug_status = config("app_debug");
if($debug_status){
return parent::render($e);
}else{
return $this->show(, $e->getMessage(), [], $this->httpCode);
} } /**
* 通用化API接口数据输出
* @param int $status 操作成功还是失败: 1 成功 2 失败
* @param int $errorcode 业务错误状态码
* @param string $msg 信息提示
* @param [] $result 数据
* @param int $httpCode http状态码
*/
public function show($status, $message ,$data = [] ,$httpCode = )
{
$data = [
'status' => $status,
'errorcode'=>'',
'msg' => $message,
'result' =>$data
]; return json($data, $httpCode); }
}
为了便于调试。引入 config文件, debug开启时候。会正常显示错误信息。。debug关闭。则是json数据
2 修改 config.php中的 exception_handle , 接管异常处理
// 异常处理handle类 留空使用 \think\exception\Handle
'exception_handle' => '\app\lib\exception\ExceptionHandler',
【thinkphp5】使用tp5开发api接口 定义全局异常处理的更多相关文章
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_16-认证接口开发-Api接口定义
		4.3 认证服务 4.3.1 需求分析 认证服务需要实现的功能如下: 1.登录接口 前端post提交账号.密码等,用户身份校验通过,生成令牌,并将令牌存储到redis. 将令牌写入cookie. 2. ... 
- 智表ZCELL产品V1.4.0开发API接口文档 与 产品功能清单
		为了方便大家使用ZCELL,应网友要求,整理编写了相关文档,现与产品一起同步发布,供大家下载使用,使用过程中如有疑问,请与我QQ联系. 智表(ZCELL)V1.4.0版本 功能清单文档下载地址: 功 ... 
- 没想到吧,Java开发 API接口可以不用写 Controller了
		本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便 ... 
- php开发api接口
		做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨 ... 
- 简单天气应用开发——API接口
		寒假回家无事,想到自学iOS开发已有一段时间,还没做过真正自己的应用,就起了做一个天气预报App的念头. 想到就做.天气预报第一步自然是找到好用的API接口来获取天气信息.在百度上搜索了一圈,找到的都 ... 
- PHP开发api接口安全验证
		php的api接口 在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道 ... 
- PHP开发api接口安全验证方法一
		前台想要调用接口,需要使用几个参数生成签名.时间戳:当前时间随机数:随机生成的随机数 签名:特定方法生成的sign签名 算法规则在前后台交互中,算法规则是非常重要的,前后台都要通过算法规则计算出签名, ... 
- 个人微信号二次开发SDK协议,个人微信号二次开发api接口
		通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ... 
- 个人微信二次开发API接口
		通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ... 
随机推荐
- Java如何设置线程的优先级?
			在Java编程中,如何设置线程的优先级? 以下示例如何使用setPriority()方法来设置线程的优先级. package com.yiibai; public class SettingPrior ... 
- PolymiRTS 数据库- miRNA SNP数据库
			背景: miRNA通过和mRNA的3'UTR区结合,导致mRNA讲解或者抑制mRNA翻译,从而实现转录后调控的作用: 如果在miRNA和 mRNA的结合区域,发生了snp,就可能会影响miRNA和mR ... 
- utf8   ucs4
			这个问题不好回答,首先UTF-8编码只不过是一种Unicode的转换,兼容ASCII.所以,UTF-8编码支持的最大字符编码应该是Unicode支持的最大字符编码. 理论上,UTF-8编码可以支持最大 ... 
- UGUI 加载图片
			图片是动态加载的,然后转换为sprite赋值到ugui的按钮上 代码如下 using UnityEngine; using System.Collections; using System.IO; u ... 
- iOS: hide UITextField Cursor
			Simply subclass UITextField and override caretRectForPosition (继承 UITextField 并且重写 [UITextField care ... 
- spark 修改分区(存储结果需要)
			修改分区就行了val rdd1 = sc.parallelize(Array(1,2,3,4,5,6,7,8))# 查看分区数rdd1.partitions.length# 改成1个分区val rd ... 
- recovery中英对照表  recovery大全图解
			一:Recovery主界面 ---reboot system now 重启手机(刷机完毕选择此项就能重新启动系统) ---apply SDcard:up ... 
- 如何能延长windows server 2008 R2激活期 .
			当windows server 2008 R2使用已经到期的时候,要求激活,我们可以通过以下命令,延长激活期. 在运行中输入:slmgr.vbs -rearm 重新启动windows server 2 ... 
- linux shell搜索某个字符串,然后在后面加上字符串?字符串后面插入字符串?sed字符串后面插入字符串?
			需求描述: 今天在配置nrpe.cfg这个文件,里面有allowed_hosts的IP地址,需要加上监控主机的地址,所以首先要搜索 到这个地址,然后呢,加上监控主机的地址,考虑通过sed命令来实现 操 ... 
- 8 -- 深入使用Spring -- 4...2 使用AspectJ实现AOP
			8.4.2 使用AspectJ实现AOP AspectJ是一个基于Java语言的AOP框架.Spring 4.0 的AOP对AspectJ很好的集成. AspectJ是Java 语言的一个AOP实现, ... 
