【问题标题】:Laravel Fractal add success message to responseLaravel Fractal 在响应中添加成功消息
【发布时间】:2021-03-30 10:07:00
【问题描述】:

是否可以使用 Fractal 向 JSON 响应添加成功消息?我希望结构如下所示

{
  "success": true,
  "message": "Clients found",
  "_metadata": {
    "total_count": 2
  },
  "data": {
    "clients": [
      
    ]
  }
}

我写了下面的代码来返回数据

$response_data = fractal()
    ->collection($person_array)
    ->transformWith(new ResponseTransformer())
    ->toArray();

我是否需要创建一个新的序列化程序才能获得这种格式?我一直在关注此文档https://packagist.org/packages/spatie/fractalistic,但没有选项可以添加额外的键值,例如success: true

我还想对我的所有 API 响应使用这种格式,是否可以创建一个通用的 Transformer 来返回我传递给它的任何数组数据,而不是为每个模型创建一个 Transformer?

【问题讨论】:

    标签: laravel serialization


    【解决方案1】:

    Laravel 分形允许向集合添加元数据:

    fractal()
    ->addMeta([
        'status' => [
            'success' => true,
            'code' => 1,
            'message' => 'Test'
        ]
    ])
    

    生成的 JSON 输出

     "meta": {
        "status": {
          "success": true,
          "code": 1,
          "message": "Test"
        }
      }
    

    【讨论】:

    猜你喜欢
    • 2018-11-19
    • 2016-11-03
    • 2016-01-22
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2016-10-16
    • 2020-10-01
    相关资源
    最近更新 更多