当前位置: 首页 > article >正文

格式化dingo返回内容

dingo api返回的内容中添加codemessage ,保持与异常返回的内容格式相一致。
失败会存在codemessage ,我们只需要关注成功的情况

非分页返回,可以创建一个父类controller,通过调用sucess方法来返回

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests, Helpers;

    public function success($data)
    {
        return $this->response()->array([
            'code' => 0,
            'message' => 'Success',
            'data' => $data
        ]);
    }
}

分页返回,使用Morphing 和 Morphed 事件

use Dingo\Api\Event\ResponseWasMorphed;

class AddCustomDataToResponse
{
    public function handle(ResponseWasMorphed $event)
    {
        // 检查是否为分页响应或其他情况下需要添加额外数据
        if (isset($event->content['meta']['pagination'])) {
            // 直接在响应内容中添加 `code` 和 `message`
            $event->content['code'] = 200; // 示例代码
            $event->content['message'] = 'Success'; // 示例消息

            // 确保修改后的内容被正确设置回响应
            $event->response->setContent(json_encode($event->content));
        }
    }
}

EventServiceProvider 中注册这个监听器:

protected $listen = [
    'Dingo\Api\Event\ResponseWasMorphed' => [
        'App\Listeners\AddCustomDataToResponse',
    ],
];

http://www.kler.cn/a/234677.html

相关文章:

  • PHP爬虫快速获取京东商品详情(代码示例)
  • 软件测试——认识测试
  • 中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号
  • 计算机新手练级攻略——善用搜索引擎
  • 工位管理优化:Spring Boot企业级系统
  • springboot集成swagger
  • 算法竞赛进阶指南——基本算法(倍增)
  • NGINX upstream、stream、四/七层负载均衡以及案例示例
  • python从入门到精通(十八):python爬虫的练习案列集合
  • 【高阶数据结构】B-树详解
  • 如何入门AI Agent?
  • C++函数对象-运算符函数对象 - 逻辑运算 - 实现 !x 的函数对象 (std::logical_not)
  • Java 集合、迭代器
  • 跟着cherno手搓游戏引擎【24】开启2D引擎前的项目总结(包括前置知识汇总)
  • 【大厂AI课学习笔记】【1.6 人工智能基础知识】(2)机器学习
  • 07-Java桥接模式 ( Bridge Pattern )
  • 网络学习:数据链路层VLAN原理和配置
  • tkinter-TinUI-xml实战(10)展示画廊
  • mac卸载被锁定的app
  • 《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)
  • Python for 循环
  • 常见性能优化策略
  • CVE-2012-2311 漏洞复现
  • 计算机网络(第六版)复习提纲29
  • spring boot 通过 application 切换cache使用的服务
  • React18原理: 再聊Fiber架构下的时间分片