自定义异常类(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
,<?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;} }
输出异常例子
public function test($status){if($status != 1){throw new ApiException('提交不合法', 400);} return $status;}
自定义异常类(restful api)相关推荐
- 人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 的思考
有一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考.首先,为什么写这个话题呢?其一,我阅读了<阿里研究员谷朴:API 设计最佳实践的思考>一文后受益良多,前两天并转载了这篇 ...
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- Spring Boot 集成Swagger2生成RESTful API文档
Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...
- java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...
作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...
- Swagger 生成 PHP restful API 接口文档
需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史. 我的故事却又不同,因为首先来说,我在公司是 Android 组负责人,属于上述血泪 ...
- SpringBoot第十一篇:springboot集成swagger2,构建优雅的Restful API
swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风 ...
- 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,聊 ...
- java+自定义异常类+输入若干成绩 为负数时输出抛出异常_java+自定义异常类+输入若干成绩 为...
java+自定义异常类+输入若干成绩 为 [2021-02-10 19:00:54] 简介: java中定义类的关键字是:"class".在Java中定义一个类,需要使用&quo ...
- 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 PUT 请求 DELETE 请求 测试 对一条已经存在的 posts ...
最新文章
- String 类中怎么出现此类问题?
- PHP与Java使用des加密通讯
- [每天一道A+B]签到检测程序
- modelform save
- pandas nan inf
- 微型计算机开机密码丢失,校诡实录微机教室攻略 电脑密码是多少[多图]
- (12)Node.js核心模块fs—实现文件复制和压缩
- httpcode状态码
- “表达式必须包含 bool 类型(或可转换为 bool)”
- 零基础学python难吗-零基础入门学习Python技术难不难?
- 为什么要使用自增ID作为主键
- 计算机对口模拟试题,计算机专业对口升学模拟试题
- 基于Android的家庭学校联系平台APP开发与实现
- Win10系统升级,1804->21H2
- css解决打印不加粗BUG
- C/C++经典算法——约瑟夫问题
- DirectX 9.0 (5) 点光源
- ps怎么转为html和css,一个登录界面的PS设计和HTML/CSS实现
- 互联网人必备的六大类专业搜索工具
- 上海康桥先进制造技术创业园项目-安科瑞苏月婷