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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C