ars/api-responder-laravel

一个简化创建标准化API响应的库。

v1.0.7 2024-09-28 09:54 UTC

This package is auto-updated.

Last update: 2024-09-28 09:55:48 UTC


README

ars/api-responder-laravel 是一个Laravel包,旨在简化标准化API响应的创建。它提供了一个用户友好的界面来管理API响应,包括常见的状态码和错误消息,使Laravel中的API开发更加高效和一致。

特性

  • 成功和错误响应的标准化响应结构。
  • 支持链接和元数据的可定制响应数据。
  • 通过门面和服务提供者轻松集成到Laravel中。

安装

您可以通过Composer安装此库。运行以下命令

composer require ars/api-responder-laravel

用法

基本响应

您可以使用Responder门面创建标准化的API响应。

示例

use Responder;

return Responder::ok($response);
return Responder::setMessage('success')->ok($response);
return Responder::tooManyRequests();
return Responder::notFound();
return Responder::unAuthorized();

$data = $this->repository->paginate();
$links = [
    'next' => $data->nextPageUrl(),
    'prev' => $data->previousPageUrl(),
    'path' => $data->path(),
];
$meta = [
    'total'        => $data->total(),
    'current_page' => $data->currentPage(),
    'per_page'     => $data->perPage(),
];
return Responder::setMeta($meta)->setLinks($links)->ok($data->items());

return Responder::setStatusCode(500)->setMessage($e->getMessage())->respond();
{
  "message": "Operation successful!",
  "success": true,
  "data": {
    "accessToken": "28|PDVEA7z6mUPcbbIybkpiMPJMvy3TLtuWOguiGDGn13c67491",
    "tokenType": "Bearer",
    "expiresIn": null
  }
}

其他方法

  • ok(array $data): 返回200响应。
  • respond(array $data): 准备并返回响应。
  • setData(array $data): 设置响应数据。
  • setMessage(string $message): 设置响应消息。
  • appendData(array $data): 向响应追加额外数据。
  • setErrorCode(mixed $errorCode): 设置响应的错误代码。
  • setStatusCode(int $statusCode): 设置响应的HTTP状态码。
  • setLinks(array $links): 设置分页或其他链接。
  • setMeta(array $meta): 设置响应的元数据。

消息

该库支持各种状态消息

如果提供了消息键,请使用 setMessage(string $message) 设置消息。

  • success: "操作成功!"
  • error: "操作遇到错误!"
  • validation_error: "验证失败!"
  • internal_error: "内部服务器错误!"
  • created: "已创建。"
  • updated: "已更新。"
  • deleted: "已删除。"
  • send: "已发送。"
  • before_posted: "已发布。"
  • expire: "已过期。"
  • not_valid: "无效。"
  • used: "已使用。"
  • re_send: "已重发。"
  • unauthenticated: "用户未认证!"
  • unauthorized: "用户无权访问此资源!"
  • not_found: "未找到资源!"
  • bad_request: "请求无效!"
  • to_many_request: "请求过多!"

贡献

欢迎贡献!请遵循以下指南

  1. 复制仓库。
  2. 创建功能分支(git checkout -b feature/my-new-feature)。
  3. 提交您的更改(git commit -am '添加新功能')。
  4. 推送到分支(git push origin feature/my-new-feature)。
  5. 打开Pull Request。

许可证

此库采用MIT许可证。

联系

对于支持或问题,请在GitHub上创建一个问题。