mrgarest/echo-api

用于在 Laravel 中生成 API 响应的简单包

1.0.0 2024-09-19 10:01 UTC

This package is auto-updated.

Last update: 2024-09-26 08:05:38 UTC


README

在 Laravel 中生成 API 响应的简单包。

安装

您可以通过 composer 安装此包

composer require mrgarest/echo-api

示例

以下是使用不同响应方法的示例。

成功

要创建一个成功的 JSON 响应,您可以使用该方法

return EchoApi::success();

响应结果

{
  "success": true
}

添加额外数据

如果您想在响应中添加额外数据,可以将包含数据的数组传递给 success() 方法。

$data = [
    'user' => [
        'id' => 21314,
        'role' => 'user',
        'email' => 'email@example.com'
    ]
];

return EchoApi::success($data);

响应结果

{
  "success": true,
  "user": {
    "id": 21314,
    "role": "user",
    "email": "email@example.com"
  }
}

错误

要创建带有 HTTP 错误代码的 JSON 响应,您可以使用该方法

$httpStatus = Response::HTTP_NOT_FOUND; // 404 Not Found
return EchoApi::httpError($httpStatus);

响应结果

{
  "success": false,
  "error": {
    "code": 404,
    "message": "Bad Request"
  }
}

自定义错误

如果您觉得标准的 HTTP 错误代码不够用,您可以在 config/echo-api.php 文件中创建自己的错误。

return EchoApi::findError('EXAMPLE');

响应结果

{
  "success": false,
  "error": {
    "code": "EXAMPLE",
    "message": "Example of error data structure"
  }
}

要获取 echo-api.php,请勿忘记运行 php artisan vendor:publish

添加额外数据

success() 方法一样,您可以为 httpError()findError() 方法添加额外数据到响应中。

$data = [
    'error' = [
        'uuid' => '21e38f4d-3be8-457c-98da-3059a947e75b'
    ],
    'count' => 0,
    'data' => null
];
return EchoApi::httpError(Response::HTTP_NOT_FOUND, $data);

响应结果

{
  "success": false,
  "error": {
    "code": 404,
    "message": "Bad Request",
    "uuid": "21e38f4d-3be8-457c-98da-3059a947e75b"
  },
  "count": 0,
  "data": null
}