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全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

C# WebAPI的几种返回类型方式

《C#WebAPI的几种返回类型方式》本文主要介绍了C#WebAPI的几种返回类型方式,包括直接返回指定类型、返回IActionResult实例和返回ActionResult,文中通过示例代码介绍的... 目录创建 Controller 和 Model 类在 Action 中返回 指定类型在 Action

kafka自定义分区器使用详解

《kafka自定义分区器使用详解》本文介绍了如何根据企业需求自定义Kafka分区器,只需实现Partitioner接口并重写partition()方法,示例中,包含cuihaida的数据发送到0号分区... 目录kafka自定义分区器假设现在有一个需求使用分区器的方法总结kafka自定义分区器根据企业需求

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随