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

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

  1. 在项目中新建文件: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);}}
  2. 在config.php中加入自己定义的异常类的namespace路径

    // 异常处理handle类'exception_handle'       => '\app\common\lib\exception\ApiHandleException',
  3. 在项目中新建文件:application\common\lib\exception\ApiException.php,

    <?php
    namespace 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;}
    }
  4. 输出异常例子

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

自定义异常类(restful api)相关推荐

  1. 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考

    有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考.首先,为什么写这个话题呢?其一,我阅读了<阿里研究员谷朴:API 设计最佳实践的思考>一文后受益良多,前两天并转载了这篇 ...

  2. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  3. Spring Boot 集成Swagger2生成RESTful API文档

    Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...

  4. java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...

    作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...

  5. Swagger 生成 PHP restful API 接口文档

    需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史. 我的故事却又不同,因为首先来说,我在公司是 Android 组负责人,属于上述血泪 ...

  6. SpringBoot第十一篇:springboot集成swagger2,构建优雅的Restful API

    swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风 ...

  7. python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...

    资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...

  8. java+自定义异常类+输入若干成绩 为负数时输出抛出异常_java+自定义异常类+输入若干成绩 为...

    java+自定义异常类+输入若干成绩 为 [2021-02-10 19:00:54]  简介: java中定义类的关键字是:"class".在Java中定义一个类,需要使用&quo ...

  9. 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 PUT 请求 DELETE 请求 测试 对一条已经存在的 posts ...

最新文章

  1. String 类中怎么出现此类问题?
  2. PHP与Java使用des加密通讯
  3. [每天一道A+B]签到检测程序
  4. modelform save
  5. pandas nan inf
  6. 微型计算机开机密码丢失,校诡实录微机教室攻略 电脑密码是多少[多图]
  7. (12)Node.js核心模块fs—实现文件复制和压缩
  8. httpcode状态码
  9. “表达式必须包含 bool 类型(或可转换为 bool)”
  10. 零基础学python难吗-零基础入门学习Python技术难不难?
  11. 为什么要使用自增ID作为主键
  12. 计算机对口模拟试题,计算机专业对口升学模拟试题
  13. 基于Android的家庭学校联系平台APP开发与实现
  14. Win10系统升级,1804->21H2
  15. css解决打印不加粗BUG
  16. C/C++经典算法——约瑟夫问题
  17. DirectX 9.0 (5) 点光源
  18. ps怎么转为html和css,一个登录界面的PS设计和HTML/CSS实现
  19. 互联网人必备的六大类专业搜索工具
  20. 上海康桥先进制造技术创业园项目-安科瑞苏月婷

热门文章

  1. SAP PM 设备维护事务码收集整理
  2. AI发展格局正从“数据”演变为“知识”
  3. 从美国5家创企看AI创业方向:落地解决问题才是王道
  4. AI安防火热战况下 算法到场景还有多远?
  5. 前沿丨人工智能的框架战争:FB继续挑战Google
  6. (超贴心)Centos7安装2.5G网卡驱动(Realtek 3000)
  7. 宇宙和世界真的是虚拟的吗?
  8. 改名Meta俩月,脸书放弃虚拟现实操作系统:负责人跳槽谷歌
  9. 2022年十大卫星技术创新及发展趋势
  10. 论文速递:智能作为信息处理系统