PhalApi自定义动态返回JSON根节点,增加最外层返回消息

2024-02-22 11:08

本文主要是介绍PhalApi自定义动态返回JSON根节点,增加最外层返回消息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

增加最外层返回消息

使用方法

在API文件中返回前设置需要增加的消息:

\PhalApi\DI()->response->setUserArray('code',2);
\PhalApi\DI()->response->setUserArray('count',100);

结果:

{"ret": 200,"code": 2,//新增code消息"count": 100,//新增count消息"msg": "","data": [{"id": 3,"type": "material","url": "http://mes.igeekiot.com/images/material/1575447548763-2019-12-04.jpg","create_time": "2019-12-04 16:19:08"},{"id": 4,"type": "material","url": "http://mes.igeekiot.com/images/material/1575448027367-2019-12-04.jpg","create_time": "2019-12-04 16:27:07"}]
}

说明

该功能是对原PhalApi\vendor\phalapi\kernal\src\Response.php 文件做了一些修改

修改步骤

1.在abstract class Response{} 中添加$UserArray

    /*** @var array $debug 调试信息*/protected $debug = array();/*** @var array $UserArray 自定义结果*/protected $UserArray = array();/** ------------------ setter ------------------ **/

2.增加setUserArray()使用方法

	/*** 设置错误信息* @param string $msg 错误信息* @return Response*/public function setMsg($msg) {$this->msg = $msg;return $this;}/*** 设置用户自定义消息* @param   string  $key        键值标识* @param   mixed   $value      调试数据* @return  Response*/public function setUserArray($key, $value) {$this->UserArray[$key] = $value;return $this;}

3.修改getResault()方法(我这里调整了返回数据的顺序)

	public function getResult() {$rs['ret'] = $this->ret;//将用户数组与rs合并$rs = array_merge($rs,$this->UserArray);$rs['msg'] = $this->msg;$rs['data'] = is_array($this->data) && empty($this->data) ? (object)$this->data : $this->data;//添加调试信息if (!empty($this->debug)) {$rs['debug'] = $this->debug;}return $rs;}

#增加调试信息

 $x = 'this is x';$y = array('this is y');\PhalApi\DI()->response->setDebug('x', $x);\PhalApi\DI()->response->setDebug('y', $y);
返回
"debug": {"x": "this is x","y": ["this is y"]}

这篇关于PhalApi自定义动态返回JSON根节点,增加最外层返回消息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/735068

相关文章

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删