You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Laravel的GET API返回JSON添加状态头结构

Laravel API返回指定JSON结构的实现方案

直接构造响应结构(快速实现)

修改你的控制器方法,不再直接返回模型集合,而是返回包含status和data的关联数组,Laravel会自动将其转换为符合要求的JSON格式:

public function index()
{
    $clients = Client::all();
    return response()->json([
        'status' => 'success',
        'data' => $clients
    ]);
}

也可以省略response()->json(),直接返回数组,Laravel会自动处理JSON转换:

public function index()
{
    return [
        'status' => 'success',
        'data' => Client::all()
    ];
}

封装统一响应工具(适合多API场景)

如果项目中有大量API需要统一响应格式,推荐封装一个通用的响应类,避免重复代码:

  1. 创建响应辅助类(例如app/Helpers/ApiResponse.php):
<?php

namespace App\Helpers;

use Illuminate\Http\Response;

class ApiResponse
{
    /**
     * 成功响应
     * @param mixed $data
     * @return \Illuminate\Http\JsonResponse
     */
    public static function success($data)
    {
        return response()->json([
            'status' => 'success',
            'data' => $data
        ], Response::HTTP_OK);
    }

    // 可扩展错误响应方法,便于统一处理异常场景
    public static function error(string $message, int $code = Response::HTTP_BAD_REQUEST)
    {
        return response()->json([
            'status' => 'error',
            'message' => $message
        ], $code);
    }
}
  1. 在控制器中调用:
use App\Helpers\ApiResponse;

public function index()
{
    $clients = Client::all();
    return ApiResponse::success($clients);
}

以上两种方式都能让你的API返回包含status:success和data字段的JSON结构,和目标示例API的格式一致。

内容的提问来源于stack exchange,提问作者laraCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:09:25